gpt4 book ai didi

javascript - 欧拉 #3 javascript 错误

转载 作者:行者123 更新时间:2023-11-29 22:11:05 29 4
gpt4 key购买 nike

我知道这可能会被否决,但我真的很沮丧 24 小时,查看其他 Euler 3 线程并没有帮助我解决这个问题。有人可以帮助我的代码吗?我认为我非常接近。

function is_prime(num) {
if (isNaN(num)) return false;
for (i=2; i<=Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
else {
return true;
}
}
}

//上面的部分正确地判断一个数是否为质数。问题在于以下部分。

var holder = 0;
function getBiggestPrime (end) {
for (i=2; i<=Math.sqrt(end); i++) {
while (is_prime(i) && (end%i===0))
holder = i;
return holder;
}
}

getBiggestPrime(13195);
console.log(holder);

最佳答案

第一种方法不正确。更正后的版本将是:

    <script>
function is_prime(num) {
if (isNaN(num)) return false;
for (var i=2; i<=Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}

//与第二种方法同样的问题-返回应该在for循环结束之后(同样,将while更改为if):

function getBiggestPrime (end) {
var holder = end;
for (var i=2; i<=Math.sqrt(end)+1; i++) {
if (is_prime(i) && (end%i===0))
holder = i;
}
return holder;
}

指向 the demo 的链接.

关于第二部分(如果我理解正确的话)你应该从:
i = Math.sqrt(end) 并使用 i-- 向下直到找到最大的素数。

关于javascript - 欧拉 #3 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980780/

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