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

숫자 n을 취하고 처음 n개의 소수로 배열을 생성하는 JavaScript 함수

<시간/>

숫자 n을 받아서 처음 n개의 소수를 포함하는 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 우리는 소수가 2, 3, 19, 37, 73 등과 같이 1과 자기 자신으로만 나누어지는 숫자라는 것을 알고 있습니다.

먼저 주어진 숫자가 소수인지 확인하는 함수를 작성한 다음 n개의 소수를 생성하기 위해 루프를 실행합니다. 소수를 확인하는 코드 -

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};

그리고 전체 생성 코드는 -

예시

const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};
const generatePrime = num => {
   const arr = [];
   let i = 2;
   while(arr.length < num){
      if(isPrime(i)){
         arr.push(i);
      };
      i = i === 2 ? i+1 : i+2;
   };
   return arr;
};
console.log(generatePrime(6));
console.log(generatePrime(16));
console.log(generatePrime(36));

출력

콘솔의 출력은 다음과 같습니다. -

[ 2, 3, 5, 7, 11, 13 ]
[
   2, 3, 5, 7, 11, 13,
   17, 19, 23, 29, 31, 37,
   41, 43, 47, 53
]
[
   2, 3, 5, 7, 11, 13, 17, 19, 23,
   29, 31, 37, 41, 43, 47, 53, 59, 61,
   67, 71, 73, 79, 83, 89, 97, 101, 103,
   107, 109, 113, 127, 131, 137, 139, 149, 151
]