本帖最后由 JarryHorse 于 2015-3-31 18:52 编辑
- <blockquote><div class="blockcode"><blockquote>class ZhiShu
- {
- public static void main(String [] args)
- {
- int x,y,tag;
-
- //定义x从11到99进行单数遍历(这里双数没有质数),x每次加2
- for(x=11;x<=99;x+=2)
- {
- //定义tag作为标识(也可以定义成boolean类型的)
- //记得每次循环判断新的x值时初始化一下tag标记
- tag=0;
- //定义y,用x取余y为0说明可以被整除,在y小于x范围内找有没有能整除的,有则说明x不是质数,改变tag标记
- //for(y=2;y<Math.sqrt(x)&&tag==0;y++)//根据质数的规律,这个可以算到根号x,会高效一点
- for(y=2;y<x&&tag==0;y++)
- {
- if(x%y==0)
- {
- tag=1;
- break;//有能整除的已经说明x不是质数了,不用再循环判断x了,直接跳出
- }
- }
- //最后判断tag是否被改变,没有改变则说明没有哪个整数能整除x,则x是质数,把x打印出来
- if(tag==0)
- System.out.print(x+"\t");
- }
-
- }
- }
复制代码
哥们儿请看 |