เราต้องเขียนฟังก์ชันที่รับตัวเลข 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