Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาจำนวนเฉพาะลำดับที่ n (nth Prime Number) ใน JavaScript

เราต้องเขียนฟังก์ชันที่รับตัวเลข n หาจำนวนเฉพาะลำดับที่ n (เริ่มจาก 2 เป็นลำดับที่ 1)

ตัวอย่าง: n=6 → 13

ตัวอย่างโค้ด

const findPrime = num => {
  let i, primes = [2, 3], n = 5;
  const isPrime = n => {
    let i = 1, p = primes[i], limit = Math.ceil(Math.sqrt(n));
    while (p <= limit) {
      if (n % p === 0) { return false; }
      i += 1; p = primes[i];
    }
    return true;
  };
  for (i = 2; i <= num; i += 1) {
    while (!isPrime(n)) { n += 2; }
    primes.push(n);
    n += 2;
  }
  return primes[num - 1];
};

console.log(findPrime(6));
console.log(findPrime(16));
console.log(findPrime(66));

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

13 53 317