zoukankan      html  css  js  c++  java
  • 通俗易懂的高效率求质数

    通俗易懂的求质数,效率还贼鸡儿高,~滑稽
    原文地址,很详细,是个大佬

    import java.util.ArrayList;
    import java.util.List;
    
    public class 求质数 {
    	//通俗易懂的求质数
    	public static void main(String[] args) {
    		//存放质数得list
    		 List<Integer> list = new ArrayList<>();
    		 //求质数从2开始
    		    for (int n = 2; n < 1000000; n++) {
    		    	//声明一个bool变量,看看是不是在list里面有能被整除得
    		        boolean isPrime = true;
    		        //常见得求质数开平方
    		        int sqrt = (int) Math.sqrt(n);
    		        //循环list,list里面都是求过得质数
    		        for (Integer i : list) {
    		        	//如果以前得质数能被n整除,说明n不是质数,false,list不能添加n
    		        	//直接终止循环
    		            if (n % i == 0) {
    		                isPrime = false;
    		                break;
    		            }
    		            //如果i大于当前这个数得开平方数,证明后面的已经不可能整除了
    		            if (i > sqrt) {
    		                break;
    		            }
    		        }
    		        //如果当前循环内,没有被整除,即为质数,可以加入list,进行下一个循环
    		        if (isPrime) {
    		            list.add(n);
    		        }
    		    }
    		    System.out.println(list);
    	}
    
    }
    
    
  • 相关阅读:
    日期时间函数的调用
    border的应用
    复合选择器(字体样式)
    样式表
    if语句
    JavaScript 简介
    表单元素
    标记及属性
    网页基础知识
    git commit 提交规范 & 规范校验
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076051.html
Copyright © 2011-2022 走看看