求C语言高手编写:求100以内所有素数的和。

求100以内所有素数的和。

/* 求100以内所有素数的和 */

#include<stdio.h>

int isPrime(int a);

void main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
if(isPrime(i))
sum+=i;
}
printf("100以内所有素数的和为:\n%d\n",sum);

}

int isPrime(int num)
{
int i,tag=1;
for(i=2;tag&&i<=num/2;i++)
if(num%i==0)
tag=0;
return tag;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-02
//---------------------------------------------------------------------------

#include <stdio.h>
#include <math.h>
int pr(int n)
{
int i;
for (i=2; i<=(int)sqrt(n); i++)
if (n%i==0) return 0;

return 1;
}
int main(void)
{
int i;
long int sum=0;
for (i=2; i<=100; i++)
sum+=pr(i)?i:0;
printf("%ld\n",sum);
return 0;
}
//---------------------------------------------------------------------------本回答被提问者和网友采纳
第2个回答  2008-06-11
给你一个方便的算法
程序自己编:

费马小定理判断素数:

如果 a^(n-1)%n==1 这个数就有99.99%的可能性是质数
解说:a是任意整数,n是你想判断的数
第3个回答  2008-06-11
#include<stdio.h>
int prime(int n)//返回0不是素数,返回1是素数
{
int i,j;
j=1;
for(i=2;i<n;i++)
{
if(n%i==0){j=0;break;}
}
return j;
}

void main()
{
int i,sum;
sum=0;
for(i=2;i<100;i++)
if(prime(i)==1){sum+=i;printf("%d ",i);}
printf("\nsum=%d\n",sum);
}
第4个回答  2019-06-23
//---------------------------------------------------------------------------
#include
<stdio.h>
#include
<math.h>
int
pr(int
n)
{
int
i;
for
(i=2;
i<=(int)sqrt(n);
i++)
if
(n%i==0)
return
0;
return
1;
}
int
main(void)
{
int
i;
long
int
sum=0;
for
(i=2;
i<=100;
i++)
sum+=pr(i)?i:0;
printf("%ld\n",sum);
return
0;
}
//---------------------------------------------------------------------------
相似回答