重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
成都创新互联自2013年起,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元贵池做网站,已为上家服务,为贵池各地企业和个人服务,联系电话:028-86922220
#includemath.h
int lsPrime(int n);
int main()
{
int n, i, k, sum = 0;
printf("input n:\n");
scanf("%d", n);
for (i = 1; i = n; i++)
{
if (lsPrime(i) == 1)
{
sum += i;
}
}
printf("sum=%d\n", sum);
return 0;
}
int lsPrime(int n) ///是素数21135261返回410216531,否则返回0
{
int i, k;
k = (int) sqrt(n);
for (i = 2; i = k; i++)
{
if (n % i == 0)
break;
}
if (i k n 1)
return 1;
else
return 0;
}
按照你的要求编写的C语言程序如下
#includestdio.h
int f(int x) //定义判断素数的函数
{
int n,flag=1;
if(x==1) return 0;
for(n=2;nx;n++)
if(x%n==0)
flag=0;
return flag;
}
int main()
{
int i,N,M,count=0,sum=0;
scanf("%d%d",N,M);
for(i=N;i=M;i++){
if(f(i)==1){
count++;
sum=sum+i;
}
}
printf("%d到%d之间共有%d个素数,它们的和为%d",N,M,count,sum);
return 0;
}
您好,很高兴回答您的问题。
对于您的这个问题,有两个方面的知识点需要掌握,一是素数的判断标准,我们知道只能被1和数本身整除的数叫素数,具体实践时就要用到循环结构;而是函数的调用,要清楚调用函数的结构和使用方法,才能用好调用。
以上两个问题解决了,那么这个程序就可以实现功能了。还有关键的一点就是您没有给出具体的范围,也就是求哪个范围内的素数之和呢,没有这个范围,也就没有办法求出和了。
网上的代码意思是:n就是你输入的任意数,判断它是否是素数的方法是用大于2小于n的数去除n,若能整除即不是素数,跳出循环;若数一直增加到n+1都没有被整除,即可输出“素数”。
你的源程序:3是素数,很简单,所以用if来提醒输入大于3的数,你的只是另一种素数算法,是优化的算法,更快。因为只需用2到根号a去判断。