[BJ / 11653] 소인수분해

Lainlnya·2023년 4월 6일
0

BaekJoon

목록 보기
34/37

문제

정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

출력

N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.

예시

풀이

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = 0;
rl.on('line', (line) => {
  input = line;
});

rl.on('close', () => {
  console.log(solution(parseInt(input)));
});

function solution(num) {
  let count = 2;
  let temp = num;
  let answer = [];
  while (temp !== 1) {
    if (temp % count === 0) {
      temp = temp / count;
      answer.push(count);
    } else {
      count++;
    }
  }
  return answer.join('\n');
}
profile
Growing up

0개의 댓글