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

JavaScript에서 숫자 인수분해

<시간/>

유일한 인수로 양의 정수를 취하는 JavaScript 함수를 작성해야 합니다. 함수는 입력된 숫자를 정확히 나누는 모든 숫자의 배열을 생성하고 반환해야 합니다.

예:

입력 번호가 -

인 경우
const num = 12;

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

const output = [1, 2, 3, 4, 6, 12];

예시

다음은 코드입니다 -

const findFactors = (num = 1) => {
   let half = Math.floor(num / 2);
   const res = [1]; // 1 will be a part of every solution.
   let i, j;
   num % 2 === 0 ? (i = 2, j = 1) : (i = 3, j = 2);
   for (i; i <= half; i += j) {
      if(num % i === 0){
         res.push(i);
      };
   };
   res.push(num);
   return res;
};
console.log(findFactors(12));

출력

다음은 콘솔의 출력입니다 -

[ 1, 2, 3, 4, 6, 12 ]