#include <stdio.h>
#include <math.h>
int IsPrime(int x)
{
if(x==2 || x==3)
return 1;
if( (x-1)%6==0 || (x+1)%6==0 ) // 与6的倍数相邻才可能是素数(2、3除外)
{
for(int i = 6; i <= sqrt(x); i+=6)
if( x%(i-1)==0 || x%(i+1)==0)
return 0;
return 1;
}
return 0 ;
}
int main()
{
int i, count = 0, sum = 0;
for(i = 1499; count != 5; i-=2)
{
if(IsPrime(i))
{
// printf("i = %d\n", i);
sum += i;
count++;
}
}
printf("sum = %d\n", sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考