求最大素数
求500以内的10个最大素数及其和,并分别输出这10个最大素数及其和。
要求10个素数按从大到小的顺序输出。
输入格式: 无
输出格式:
10个最大素数的输出格式:"%6d"
总和的输出格式:"\nsum=%d\n"
#include
int findbigsushu();
int main()
{
int x;
x=findbigsushu();
printf("\nsum=%d\n",x);
return 0;
}
int findbigsushu()
{
int i,j,m,sum;
sum=0;
i=500;
m=1;
while(i>=1)
{
for(j=2;j<i;j++)
{
while(m<=10)
{
if(i%j!=0)
{
printf("%6d",i);
sum=sum+i;
i=i-1;
m=m+1;
}
else
i=i-1;
}
}
}
return sum;
}
那么问题来了,小白的程序为什么输不出总和啊啊 啊啊?
我觉得你还是从500往前比较简单
private static int findbigsushu()
{
int i,j,m,sum;
sum=0;
i=500;
m=1;
while(i>=1)
{
for(j=2;j<i;j++)
{
if(i%j==0){
break;
}
}
if(i==j){
if(m<=10){
System.out.println("i:"+i);
sum+=i;
m++;
} else {
break;
}
}
i--;
}
return sum;
}
我是用java写的,你把输出语句改一下就好了,我验证了没问题的。