求助两道C++程序设计题,谢谢!
C++初学没学过C语言题目如下:1.设计函数digit(num,k),返回整数num从右边开始的第k位数字的值。例如:digit(4647,3)=6;digit(2352...
C++初学 没学过C语言 题目如下:
1.设计函数digit(num,k),返回整数num从右边开始的第k位数字的值。例如:digit(4647,3)=6;digit(23523,7)=0
2.编写二个函数:一个函数int sum(n)是求指定范围1-n 内所有素数的和;另一个函数 int fact 是判断一个数是否是素数;要求在sum 中调用fact 进行判断,然后求素数和。
谢谢!! 展开
1.设计函数digit(num,k),返回整数num从右边开始的第k位数字的值。例如:digit(4647,3)=6;digit(23523,7)=0
2.编写二个函数:一个函数int sum(n)是求指定范围1-n 内所有素数的和;另一个函数 int fact 是判断一个数是否是素数;要求在sum 中调用fact 进行判断,然后求素数和。
谢谢!! 展开
1个回答
展开全部
#include<iostream>
#include<cmath>
using namespace std;
//第一个
int digit(int num,int k){
int flag;
for(int i=0;i<k;i++){
flag=num%10;
num/=10;
}
return flag;
}
//第二个
int fact(int num){
if(num<=1) return 0;
if(num==2||num==3) return 1;
for(int i=2;i<=sqrt(num);i++){
if(num%i==0) return 0;
}
return 1;
}
int sum(int n){
int s=0;
for(int t=1;t<=n;t++){
if(fact(t)) s+=t;
}
return s;
}
#include<cmath>
using namespace std;
//第一个
int digit(int num,int k){
int flag;
for(int i=0;i<k;i++){
flag=num%10;
num/=10;
}
return flag;
}
//第二个
int fact(int num){
if(num<=1) return 0;
if(num==2||num==3) return 1;
for(int i=2;i<=sqrt(num);i++){
if(num%i==0) return 0;
}
return 1;
}
int sum(int n){
int s=0;
for(int t=1;t<=n;t++){
if(fact(t)) s+=t;
}
return s;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询