gpt4 book ai didi

javascript - 欧拉计划最大质因数 js

转载 作者:行者123 更新时间:2023-11-28 05:35:24 25 4
gpt4 key购买 nike

我已经看到了其他答案,但我想知道为什么我的代码不起作用或者可能只是花费太长时间来计算。下面写着。

function isPrime(number){
for (var i = 2; i < number; i++){
if (number % i === 0){
return false
}
}
return true
}

function firstNPrimes(num){
var largestPrimeFactor = ''
for (var i = 2; i < num/2; i++){
if (num % isPrime(i) === 0) {
largestPrimeFactor = i;
}
}
return largestPrimeFactor;
}

console.log(firstNPrimes(600851475143));

最佳答案

所以我并不是在寻找大量的优化,只是利用例程的精神找到输入的最大质因数,而是通过 bool 值来修复 mod,看看 i 是否既是除数又是质数,而不是检查这么高是为了判断一个数字是否是质数并且是向下计数,而不是向上计数)。尽管如此,我仍然可以得到正确的结果,但是按照你的方法,需要很长时间才能检查一个非常大的数字是否是质数。

function isPrime(n) {
for (var i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}

function firstNPrimes(num) {//consider better name
if (isPrime(num)) {
return num;
}
for (var i = Math.ceil(num / 2); i > 1; i--) {
if (((num % i) == 0) && (isPrime(i))) {
return i;
}
}
//should never get here
return number.NaN;
}
console.log(firstNPrimes(17000));
console.log(firstNPrimes(1570000));
//do not put in very large numbers, takes too long

关于javascript - 欧拉计划最大质因数 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404122/

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