素数第n长度

时间:2015-05-26 20:55:03

标签: javascript for-loop primes

我需要一种方法来找到第10001个素数。我的代码打印出所有素数,但我不知道如何获得第10001个素数。

commit;

1 个答案:

答案 0 :(得分:1)

使用素数组的长度作为for循环的循环条件,而不是您正在测试的数字。

function prime(nth) {
    var arr = [2];
    var isPrime = true;

    for(var i = 3; arr.length <= nth; i++) {
        isPrime = true;
        for(var j = 2; j < i; j++) {
            if(i % j === 0) {
                isPrime = false;
                break;

            }
        }
        if(isPrime === true) {
            arr.push(i);
        }
    }
    return arr;
}