저장을 습관화

백준 11653 소인수분해 node.js 본문

코딩 테스트/백준 - 자바스크립트

백준 11653 소인수분해 node.js

ctrs 2024. 2. 12. 08:18

링크 https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

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

www.acmicpc.net

 

1. 문제

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

 

2. 입력

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

 

3. 출력

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

 

4. 예제 입력

72

 

5. 예제 출력

2
2
2
3
3

 

 6. 제출한 내용

let fs = require("fs");
let input = Number(fs.readFileSync("/dev/stdin"));

let result = [];
if (input === 1) {
  console.log();
} else {
  let i = 2;
  while (input !== 1) {
    while (input % i === 0) {
      result.push(i);
      input = input / i;
    }
    i += 1;
  }
  result.forEach((v) => console.log(v));
}