10以下的质数的和是2 + 3 + 5 + 7 = 17。找出两百万以下所有质数的和。麻烦各位看看有没错误,或者说可否再改进。。。
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{ bool isPrime(int);
long i;
long n=2000000L;
long sum=0L;
for(i=2;i<=n;i++)
{
if(isPrime(i))
{
sum+=i;
}
}
printf("%ld",sum);
}
bool isPrime(int n)
{ long i;
if(n==2||n==3)
{
return true;
}
if(n%2==0)
{
return false;
}
for(i=3;i<=sqrt(n)+1;i+=2){
if(n%i==0){
return false;
}
}
return true;
}









