gpt4 book ai didi

java - 如何改进我的质数和算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:36 25 4
gpt4 key购买 nike

我写了一个代码,它返回所有值低于 200 万的素数的总和。但是出结果要花很长时间(等了30分钟才有答案)。

谁能建议如何使算法更高效?

public static void main(String[] args){

int i,primeNum=1,sumPrime=0,c=0;
while (primeNum<2000000){
int factors=0;
for(i=1;i<=primeNum;i++){
if((primeNum%i)==0) {
factors++; // total number of factors
}
}
if(factors==2){
if(primeNum<2000000){
sumPrime=primeNum+c;
c=sumPrime;
}
System.out.println(primeNum);
}

primeNum++;

}
System.out.println(sumPrime);
}

最佳答案

检查 sieve of Atkin算法。是古代的优化版sieve of Eratosthenes .

关于java - 如何改进我的质数和算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com