首页 > 代码库 > 查找质数的算法优化版
查找质数的算法优化版
package com.my.testPrimeNumber; import java.util.ArrayList;import java.util.List; public class PrimeNumber { public boolean isPrimeNum(int n) { //第一步过滤偶数,使范围减少一半 if(n==2) { return true; } else if(n%2==0) { return false; } //处理奇数,一个素数中不会有偶数因子,但是他的平方根的边界可能是偶数,所以边界单独处理 //这样写,让局部变量的作用域更小,且只计算一次初始化变量 for(int i=1,sqrt=(int) Math.sqrt(n),borderNumTest = n%sqrt;i<n; i+=2) { System.out.println(borderNumTest); if(borderNumTest==0) { return false; } else if(i!=1 && n%i==0) { return false; } } return true; } public void findPrimeNum(int x) { List<Integer> ss = new ArrayList<Integer>(2); for(int j = 2; j<x;j++) { if(isPrimeNum(j)) { ss.add(j); } } System.err.println(ss); System.err.println(ss.size()); } public static void main(String[] args) { new PrimeNumber().findPrimeNum(100); }}
查找质数的算法优化版,新东西可能有错大家可以自己看看
查找质数的算法优化版
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。