首页 > 编程语言 > 详细

【Java】计算某个数内的所有素数

时间:2020-08-10 17:25:08      阅读:88      评论:0      收藏:0      [点我收藏+]

代码

 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 }

 

测试

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

【Java】计算某个数内的所有素数

原文:https://www.cnblogs.com/xiaostudy/p/13470414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!