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

JavaScript에서 숫자의 소인수 배열

<시간/>

우리는 숫자를 받아서 입력 숫자를 정확히 나누는 모든 소수의 배열을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어, 입력 번호가 105인 경우.

그러면 출력은 다음과 같아야 합니다. -

const output = [3, 5, 7];

예시

이에 대한 코드는 -

const num = 105;
const isPrime = (n) => {
   for(let i = 2; i <= n/2; i++){
      if(n % i === 0){
         return false;
      }
   };
   return true;
};
const findPrimeFactors = num => {
   const res = num % 2 === 0 ? [2] : [];
   let start = 3;
   while(start <= num){
      if(num % start === 0){
         if(isPrime(start)){
            res.push(start);
         };
      };
      start++;
   };
   return res;
};
console.log(findPrimeFactors(18));

출력

콘솔의 출력 -

[3, 5, 7]