读书人

【网上看到这么一个题 但就是不明白 大

发布时间: 2013-08-01 15:23:18 作者: rapoo

【网上看到这样一个题 但就是不明白 大神们指导下】

package com.itcast.itwork;

public class SuShu {
public static void main(String[] args) {
for(int i=1;i<=1000;i++) {
int m=2;
while(m<=i) {
if (i%m==0) break;
else m++;//把这一行调到如下所示的行
if (i==m)
System.out.println(m); //调到这一行} } }}
}
}
}
}


不知道为什么判断if (i==m)呢?
[解决办法]
求素数。
while里,从m=2开始,判断当前i取余数m是否为0,为0表示除得尽,直接break;
当m==i时,说明从2到i-1这些整数,都无法被i除尽,i就是素数了。(那个println打印i比较好理解)

当然,这里的2应该也是素数的。
[解决办法]
i==2 时,也输出i 那是指2也是素数
[解决办法]
引用:
i==2 时,也输出i 那是指2也是素数

2不是素数?
[解决办法]
如果i==m,就说明i是一个素数,在程序中就是显示该素数。

读书人网 >J2SE开发

热点推荐