首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2013-08-01 
【网上看到这样一个题 但就是不明白 大神们指导下】package com.itcast.itworkpublic class SuShu {public

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

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是一个素数,在程序中就是显示该素数。

热点排行