如何写一个程序求出质数?(除1和本身外不能被其他数整除) 拿从2到你所验证的数开平方后所得的数的整数部分做循环,用每一个数去除你要验证的数,如果其中一个得到整数,就放弃(break),如果都不能被整除,就说明是质数。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实上面的说的很对.但你的问题是:用for和%.所以我想是这样:boolean b;for(int i=2; i<1000; i++){ b=true; for(int j=2; j<i/2+1; j++){ if(i%j==0){ b=false; break; } } if(b) System.out.println(i);}大概思路就是这样,可能有错.还请你调试一下. 多谢2位,求出来了。但想问一下,为什么要j<i/2+1呢?而不是加j<i? 很简单的道理,比如:20=10*221=10*2+1那么在除到10(这个数的一半)之前已经有一个数可以整除它了,就没必要再继续除下去了.那样只是在浪费时间.甚至可以:j<Math.sqrt(i)+1 商品对比怎么实现?? 关于运用Jconsole监控JVM内存连接到远程linux svn有的能提交,有的不能提交 用java设计一个简单浏览器 JAVA语法问题 好东西,大家以后说不定能用上,共享一下(顺便测试一下)! 请高手指点 简单的问题不断问 简单问题,请给我一个解释。立即给分。 为什么同一包下的类不能访问??在线等 用java写聊天室 请教一下 java编程指南 (jdk1.4版)如何?是否适合初学者使用?
b=true;
for(int j=2; j<i/2+1; j++){
if(i%j==0){
b=false;
break;
}
}
if(b) System.out.println(i);
}大概思路就是这样,可能有错.还请你调试一下.
20=10*2
21=10*2+1
那么在除到10(这个数的一半)之前已经有一个数可以整除它了,就没必要再继续除下去了.那样只是在浪费时间.
甚至可以:
j<Math.sqrt(i)+1