黑马程序员技术交流社区
标题:
编程打印所有的3位质数,质数特点:只能被1和其本身整除
[打印本页]
作者:
没胡子的小眼睛
时间:
2015-1-15 09:57
标题:
编程打印所有的3位质数,质数特点:只能被1和其本身整除
public class Test6 {
/**
* 编程打印所有的3位质数,质数特点:只能被1和其本身整除
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//三位的质数是从100开始 999结束
for(int i=100;i<1000;i++){
int count=0;
// 将 i 依次除以 1 到 [(i + 2)/2]
for(int j=1;j<(i+2)/2;j++){
//计算整数的次数进行++
if(i%j==0){
count++;
}
}
//当累计整数的count 大于2时说明得到了次数累加成功
if(count<2){
System.out.println(i+"为质数");
}
}
}
}
作者:
kerner
时间:
2015-1-15 10:40
程序有点不足的地方,效率降低了一点,因为条件变量每次都进行了计算。
int tmp = (i+2)/2;
for(int j=1;j<tmp ;j++){
//计算整数的次数进行++
if(i%j==0){
count++;
}
}
作者:
没胡子的小眼睛
时间:
2015-1-15 10:44
kerner 发表于 2015-1-15 10:40
程序有点不足的地方,效率降低了一点,因为条件变量每次都进行了计算。
int tmp = (i+2)/2; ...
谢谢 学长
谢谢你的指点 明白了 可以单独提出来分给一个变量 这样每次循环的效率会大大的提高
作者:
asinzuo
时间:
2015-6-28 21:15
kerner 发表于 2015-1-15 10:40
程序有点不足的地方,效率降低了一点,因为条件变量每次都进行了计算。
int tmp = (i+2)/2; ...
涨姿势了,真的很不错
作者:
崔判官
时间:
2015-11-5 17:09
(i+2)/2 是什么意思啊? 为什么这么做啊?
作者:
一大把手
时间:
2015-11-14 20:22
好棒!真的好棒!!!
作者:
xiaojunru
时间:
2016-3-12 15:03
好,非常的好
作者:
BackingAlongRay
时间:
2016-4-9 19:39
这堆代码不错哦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2