Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 n번째 소수 찾기

<시간/>

숫자를 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다. 숫자를 n이라고 합시다. 함수는 처음부터 n번째 소수를 찾아서 반환해야 합니다.

예:

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