判斷質數算法


質數定義:

 質數又稱素數。一個大於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

如有轉載請標出處:https://www.cnblogs.com/downs/p/9186980.html 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM