# [Algorithm/JS] 백준 11653번 소인수분해

🔗 문제 바로가기 (opens new window)

# Question

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

# Input

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

# Output

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

# Example

# Input 1

72
1

# Output 1

2
2
2
3
3
1
2
3
4
5

# Input 2

3
1

# Output 2

3
1

# Input 3

6
1

# Output 3

2
3
1
2

이 외의 입출력은 상단의 문제 바로가기 링크에서 확인

# Solution

const input = require('fs').readFileSync('dev/stdin').toString().trim();

let num = Number(input);
let divider = 2;
let prime = [];

while (divider <= input) {
  if (num % divider === 0) {
    num /= divider;
    prime.push(divider);
  } else {
    divider++;
  }
}

console.log(prime);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Last Updated: 2022. 6. 5. 오후 3:42:39