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