码迷,mamicode.com
首页 > 其他好文 > 详细

判断101-200之间有多少个素数,并输出所有素数

时间:2017-10-22 00:17:58      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:break   没有   for   ==   public   判断   多少   重复   ++   

 1 public class Demo01 {
 2 public static void main(String[] args) {
 3     int count = 0;
 4     for (int i = 101; i <= 200; i++) {
 5         boolean flag = false;
 6         for (int j = 2; j < i; j++) {
 7             if (i % j == 0) {
 8                 flag = true;
 9                 break;
10             }
11         }
12         if (!flag) { 
13             count++;
14             System.out.print(i + " ");    
15         }
16     }
17     System.out.println(count);
18 }
19 }

上述方法中第二次循环次数过多,可优化,利用Math.sqrt()方法,可避免重复,假如i=150时,j=10时,i已经被j整除,就没有必要让j循环到15了

 1 public class Demo01 {
 2     public static void main(String[] args) {
 3         int count = 0;
 4         //素数肯定是在奇数中产生,素数只能被1和它本身整除
 5         for (int i = 101; i < 200; i += 2) {
 6             boolean b = false;
 7             //double   Math.sqrt(double d)  求参数的平方根 返回值为double
 8             for (int j = 2; j <= Math.sqrt(i); j++) {
 9                 if (i % j == 0) {
10                     b = false;
11                     break;
12                 } else {
13                     b = true;
14                 }
15             }
16             if (b == true) {
17                 count++;
18                 System.out.print(i+" ");
19             }
20         }
21         System.out.println("素数个数是: " + count);
22     }
23 }

 

判断101-200之间有多少个素数,并输出所有素数

标签:break   没有   for   ==   public   判断   多少   重复   ++   

原文地址:http://www.cnblogs.com/zxinyu/p/7707326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!