求1500内的最大五个素数之和。用c语言循环 尽量不用数组

求1500内的最大五个素数之和。用c语言循环 尽量不用数组c语言啊 我只学到循环结构和一点数组

#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;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-24
#include<stdio.h>
int main()
{
int i,j,k=0,sum=0;
for(i=1500;i>0;i--)
{
for(j=2;j<=(i/2);j++)
{
if(i%j==0)
{

break;
}
if(j==(i/2))
{
printf("%d\n",i);
sum+=i;
k++;
}
}
if(k==4)
{
break;
}

}
printf("sum=%d",sum);

}追问

我的答案里sum总是不显示,其余五个数能显示

追答

把你的代码发我看看

我这个代码是可以运行的

我试过没错误了

追问

追答

少了个%d

最后一个输出少了个%d

追问

哦我知道了

对对对谢谢

追答

你要找原因啊,这是个小bug

追问

嗯嗯你回答我前一秒我发现了谢谢🙏

本回答被提问者采纳
相似回答