【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