黑马程序员技术交流社区
标题:
写了个100以内素数和程序,谁帮我看看错哪里了
[打印本页]
作者:
Camwly
时间:
2015-11-28 22:49
标题:
写了个100以内素数和程序,谁帮我看看错哪里了
麻烦大神看下下面的代码,就是求100以内的素数和,我觉得我思路没问题,但是为啥就是算不对呢?
public class SushuSum
{
public static void main(String args[])
{
int i,j,k=0,sum=0;
for(i=2;i<=100;i++)
{
for(j=2;j<i;j++)
{
if(i%j!=0)
k=k+i;
}
sum=sum+k;
}
System.out.println("0~100内的素数和为"+sum);
}
}
作者:
hansnowqiang
时间:
2015-11-29 00:16
本帖最后由 hansnowqiang 于 2015-11-29 00:22 编辑
你这条件有问题吧;
比如:i=5
j = 2 满足条件 k=k+5;
j = 3 满足条件 k=k+5;
j = 4 满足条件 k=k+5;
你这个k定义的有问题。完全不知道k是什么。条件应该是i%j==0时跳过这个i直接到下一个i
用continue外循环
即:有能整除的就不是素数。
希望能有帮助。
作者:
萧未然
时间:
2015-11-29 14:10
代码改了一点
/**
* 求100以内素数之和
* @author Administrator
*
*/
public class Face4 {
public static void main(String[] args) {
int i,j,k=0,sum=0;
a:for(i=0;i<=100;i++){
b:for(j=2;j<i;j++){
if(i%j==0)continue a;//只要发现有除1和本身外的约数,继续外层循环
}
System.out.println(i);
sum=sum+i;
}
System.out.println("0~100内的素数和为"+sum);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2