Java基础编程题——素数

 1 package com.yangzl.basic;
 2 /**
 3  * 判断101-200之间有多少个素数,并输出所有素数。
 4  * @author Administrator
 5  *
 6  */
 7 /*程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,
 8 反之是素数。*/
 9 
10 public class SuShu {
11     public static void main(String[] args) {
12         int min = 101;//
13         int max = 200;//
14         
15         int num = 0;
16         int count = 0;//计数器
17         System.out.println(min+"至"+max+"之间的素数为:");
18         for(num=min;num<max;num++){
19             if(isSushu(num)==true){
20                 count++;
21                 System.out.print(num+" ");
22             }
23         }
24         System.out.println("\n---------------------------\n素数数量:"+count);
25         
26     }
27     
28     //判断是否是素数的函数
29     public static boolean isSushu(int n){
30         boolean bl = false;
31         if(n==1){
32             bl = false;
33         }else{
34             for (int i = 2; i <= Math.sqrt(n); i++) {
35                 if(n%i == 0){//如果n能被 2~根号n 的数整除,则n不是素数
36                     bl = false;
37                     break;
38                 }else{
39                     bl = true;
40                 }
41             }
42         }
43         //返回判断的结果:true素数,false不是素数
44         return bl;
45     }
46 }

结果:

101至200之间的素数为:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 
---------------------------
素数数量:21

 

posted @ 2014-01-21 15:05  艺言弈行  阅读(614)  评论(0编辑  收藏  举报