Problem02 输出素数

Posted nemowang1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("
从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个素数。

 

以上是关于Problem02 输出素数的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P1865 A % B Problem[筛素数/前缀和思想/区间质数个数]

洛谷 P1865 A % B Problem(简单区间素数) 题解

UVA524 素数环 Prime Ring Problem

hdu1016Prime Ring Problem

PAT 1013 数素数

PAT乙级1007