素数第n个长度

prime number nth length

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

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

    for(var i = 3; i <= 100; 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;
}
prime();

使用素数数组的长度作为 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;
}