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[筛素数/前缀和思想/区间质数个数]