网站建设资讯

NEWS

网站建设资讯

c语言调用函数素数和 C语言函数素数

C语言使用函数求素数和,帮忙看看哪儿错了

//楼主判定"素数"的算法需要改善,可参考其他网友的算法.

十年建站经验, 网站设计、成都网站制作客户的见证与正确选择。成都创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

#include stdio.h

#include math.h

int prime( int p );

int PrimeSum( int m, int n );

int main()

{

int m, n, p;

scanf("%d %d", m, n);

printf("Sum of ( ");

for( p=m; p=n; p++ )

{

if( prime(p) != 0 )

printf("%d ", p);     //输出素数

}

printf(") = %d\n", PrimeSum(m, n));

return 0;

}

int prime( int p )

{

int m=p;

while(m1)

{

m--;

//在函数prime里,如果p是素数,当循环到m等于2,在执行m--之后,m就等于1,

//再执行if(p%m==0),必然return 0

//所以,在m--之后,增加一句if(1==m) return 1;

if(1==m)

{

return 1;

}

if(p%m==0)

{

return 0;

}

}

return 1;

}

int PrimeSum( int m, int n )

{

int result=0;

for(m;m=n;m++)

{

if(prime(m)!=0)

result=result+m;

}

return result;

}

c语言中 素数和的程序怎么编

可以写一个判断n是否素数的函数,是素数就返回1(真)否则就返回0(假)。

在main()函数中用循环,检测指定范围内的每一个数,是素数的话就把它们累加起来。

#includestdio.h

int isprime(int n)

{int i;

for(i=2;i*i=n;i++)

if(!(n%i))return 0;

return n1;

}

int main()

{int i,a,b,s=0;

scanf("%d%d",a,b);

for(i=a;i=b;i++)

if(isprime(i))

{printf("%d ",i);

s+=i;

}

printf("\n%d~%d之间的素数和=%d\n",a,b,s);

return 0;

}

c语言使用函数求素数和

您好,很高兴回答您的问题。

对于您的这个问题,有两个方面的知识点需要掌握,一是素数的判断标准,我们知道只能被1和数本身整除的数叫素数,具体实践时就要用到循环结构;而是函数的调用,要清楚调用函数的结构和使用方法,才能用好调用。

以上两个问题解决了,那么这个程序就可以实现功能了。还有关键的一点就是您没有给出具体的范围,也就是求哪个范围内的素数之和呢,没有这个范围,也就没有办法求出和了。

C语言 用函数 求前50个素数的和.

#include stdio.h

#include math.h

int pd(int k) //判断质数 效率挺高的 你也可以用二重筛选法 那个算法是最快的

{

int i;

int s=sqrt(k);

if(k==1) return 0;

if(k==2) return 1;

if(k%2==0) return 0;

for(i=3;i=s;i+=2)

if(k%i==0) return 0;

return 1;

}

int main()

{

int i=2,k=0,sum=0; //i表示数字 k这表示有多少个质数了 sum表示质数的和

while(k=50)

{

if(pd(i)) { k++;sum+=i;}

i++;

}

printf("%d",sum);

return 0;

}

楼主 给我吧

用c语言编程序,用函数求素数,调用函数

#include stdio.h

#include math.h

//判断是否为素数的函数

int isPrime(int n)

{

int i=2;

while(i=(int)sqrt(n))

{

if(n%i == 0)

return 0;  //不是素数,直接返回0

else

i++;

}

return 1;

}

int main()

{

int n,i;

printf("输入一个正整数: ");

scanf("%d",n);

for(i=2;i=n;i++)

{

if(isPrime(i))  //调用函数,如果该数为素数,则输出

printf("%d ",i);

}

printf("\n");

return 0;

}

示例运行结果:

输入一个正整数: 50

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

C语言 素数求和问题

#include "stdio.h"

#include "math.h"

int main(void)

{

int count, i, m, n, sum;

int repeat, ri;

int prime(int m);

scanf("%d", repeat);

for(ri = 1; ri = repeat; ri++){

scanf("%d %d", m, n);

sum = count = 0;

for(i=m;i=n;i++){

if(prime(i)==1){

sum=sum+i;

count++;}

}

printf("Count=%d,sum=%d\n",count,sum);

}

}

int prime(int m)

{

int i;

if(m==2)return 1;

if(m==1)return 0;

if(m2){

for(i=2;im;i++){

if(m%i==0)

return 0;}

return 1;//你的主要问题在这里,上面的for循环已经限定了i不会大于m的,你再用了一个if(i=m)就不对了

}

}


网站名称:c语言调用函数素数和 C语言函数素数
地址分享:http://cdweb.net/article/hggide.html