Problem02 输出素数

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

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

 1 public class Problem02 {
 2     //题目:判断101-200之间有多少个素数,并输出所有素数。
 3     //程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),
 4     //如果能被整除,则表明此数不是素数,反之是素数。
 5     
 6     public static void main(String args[]) {
 7         //cnt存储素数的个数
 8         int cnt = 0;
 9         for(int i=101; i<201; i++) {
10             if(isPrime(i)==1) {
11                 System.out.print(i+" ");
12                 cnt ++;
13             }
14         }
15         System.out.println("\n从101到200之间有"+cnt+"个素数。");
16     }
17     
18     //判断num是否为素数
19     public static int isPrime(int num) {
20         int sq = (int)(Math.sqrt(num));
21         for(int i=2; i<sq+1; i++) {
22             if(num%i==0) {
23                 //若num不是素数就返回-1
24                 return -1;
25             }
26         }
27         //若num是素数就返回1
28         return 1;
29     }
30 }

运行输出:

1 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 
2 从101到200之间有21个素数。

猜你喜欢

转载自www.cnblogs.com/nemowang1996/p/10387673.html