有人可以帮助使用此代码吗?它应该得到第10,001个素数。我知道is_prime函数可用于测试数字是否为素数,因为我成功地将此代码用于以前的问题。现在我只是试图在for循环中调用它,直到计数器达到我想要的值,同时将最新的数字存储到变量“持有人”和最后的印刷持有人中。欧拉7 Javascript
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;
}
function getBigPrime() {
var holder = 0;
var counter = 0;
for (var k=3; counter<=10000; k+=2) {
if (is_prime(k))
holder = k;
counter += 1;
}
console.log(holder);
}
getBigPrime();
http://stackoverflow.com/questions/16074244/finding-the-10001st-prime的可能的复制-number-project-euler – CBIII
我不认为循环正常工作。如果我将循环的for语句中的'counter'更改为不同的数字,我的结果不会改变。 –
@CBIII谢谢你指点,我没有找到那个。似乎他使用一种不同的方法,我仍然很困惑,为什么我的代码不起作用! –