java打印N以内的所有质数

互联网 20-10-26

问题:

打印出N以内所有质数

(视频教程分享:java课程)

思路:

质数的定义是它的因子只有1和它本身,因此我们在判断的时候可以根据遍历到的数是不是有除了1和它本身之外的因子。同时我们知道如果有因子(即如果是合数)那么,因子必定是小于这个数的,我们就排除掉。

package Algorithm.Interview;  import java.util.ArrayList; import java.util.List;  public class primeNum {     public List<Integer> PrintPrime(int n){         List<Integer> Prime = new ArrayList<>();         //2也是质数         Prime.add(2);         //外循环遍历N以内的所有数,1不是质数,2是质数,所以从2开始遍历         for (int i = 2; i <= n; i++) {         //内循环遍历小于要判断的数的因子,即要判断的数是否有除了1和它本身的因子             for (int j = 2; j < i; j++) {             	//如果有因子,直接跳出内循环,到外循环遍历下一个数                 if (i % j == 0){                     break;                 }                 //如果没有因子,判断j = i-1这个数,能循环到i-1说明之前的j都没有跳出循环,来判断最后一个小于i的数是不是i的因子                 else if (j == i -1 && i % j != 0){                     Prime.add(i);                 }             }          }         return Prime;     }      public static void main(String[] args) {         primeNum primeNum = new primeNum();         System.out.println(primeNum.PrintPrime(100));     } }

相关推荐:java入门

以上就是java打印N以内的所有质数的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 质数
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java中的接口是一种特殊的抽象类吗?

相关资讯