【Java】計算某個數內的所有素數


代碼

 1 public static List<Integer> getPrimeNumber(int a) {
 2     List<Integer> primeNumberList = new ArrayList<>();
 3     if (a < 2) {
 4         return primeNumberList;
 5     }
 6 
 7     double sqrt;
 8     Integer primeNumber;
 9     // 默認是素數
10     boolean flag = true;
11     for (int number = 2; number < a; number++) {
12         sqrt = Math.sqrt(number);
13         for (int index = 0; index < primeNumberList.size(); index++) {
14             primeNumber = primeNumberList.get(index);
15             if (primeNumber > sqrt) {
16                 primeNumberList.add(number);
17                 // 防止下面重復添加
18                 flag = false;
19                 break;
20             }
21             if (number % primeNumber == 0) {
22                 // 不是素數
23                 flag = false;
24                 break;
25             }
26         }
27         if (flag) {
28             primeNumberList.add(number);
29         } else {
30             // 默認是素數
31             flag = true;
32         }
33     }
34 
35     return primeNumberList;
36 }

 

測試

 

 

 

 

 


免責聲明!

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



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