質數定義:
質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
其實要獲取質數,一般的方法就是過濾,將不是質數直接過濾掉,相對於其他方法簡單一點。
下面代碼:
1 import java.util.Scanner; 2 3 /** 4 * 判斷a-b之間有多少個質數,並輸出所有質數 5 * @author downs 6 * 程序分析:判斷質數的方法:取余自己之外的所有數據,並判斷是否等於自己 7 */ 8 public class zhishu { 9 10 public static void main(String[] args) { 11 /* 12 * 質數:就是素數,只能被1和它自己整除的數 13 */ 14 int count=0; 15 Scanner s = new Scanner(System.in); 16 System.out.println("請輸入第一個數:"); 17 int a = s.nextInt(); 18 System.out.println("請輸入第二個數:"); 19 int b = s.nextInt(); 20 if(a>b) { 21 System.out.println("請保證第二個數大於第一個"); 22 } 23 24 // for循環遍歷101-200 25 for (int i = a; i <= b; i++) { 26 // 循環嵌套遍歷被除數 27 for (int m = 2; m <= i; m++) { 28 // 判斷,如果能被不是自己本身之外的數整除,直接跳出循環 29 if (i != m && i % m == 0) { 30 // 退出循環 31 break; 32 } 33 // 判斷,此時該數肯定是素數 34 if (i == m && i % m == 0) { 35 count++; 36 // 打印該值 37 System.out.println(i); 38 } 39 } 40 } 41 if(count !=0) { 42 System.out.println("總共:" + count ); 43 } 44 45 } 46 47 }
結果顯示:
請輸入第一個數: 100 請輸入第二個數: 200 結果如下 : 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 總共:21