求 30 以内的所有素数之和
我编的求和错误,怎么回事啊?
#include<stdio.h>
int main()
{
int i=1,j,sum=0;
while(++i<=30){
j=1;
while(++j<=i)
if(i%j==0) break;
if(j==i) sum+=i;
}
printf("素数和为:%d\n",sum);
return 0;
}
大哥,这是求30以内的素数之和啊,你的那个结果差的更远了。再帮忙看看吧、?
追答噢,呵呵,刚才是在不好意思
#include
int main(void)
{
int i = 1;
int j;
int sum = 0;
while (++i <= 30)
{
j = 1;
while (++j <= i)
{
if(j == i)
sum += i;
if (i%j == 0)
{
break;
}
}
}
printf("Sum = %d\n",sum);
return 0;
}
这个就好了,把j与i的比较放在跳出操作之前