[Baekjoon] 11653 - 소인수분해

Chobby·2023년 10월 11일
1

Baekjoon

목록 보기
33/108

😀문제

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


😁입력

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


😂출력

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


🤣예제

예제 입력 1 
72
예제 출력 1 
2
2
2
3
3
예제 입력 2 
3
예제 출력 2 
3
예제 입력 3 
6
예제 출력 3 
2
3
예제 입력 4 
2
예제 출력 4 
2
예제 입력 5 
9991
예제 출력 5 
97
103

😃출처

  • 문제의 오타를 찾은 사람: BaaaaaaaaaaarkingDog, Green55
  • 문제를 만든 사람: baekjoon
  • 잘못된 조건을 찾은 사람: wjdclgns12

😄알고리즘 분류

  • 수학
  • 정수론
  • 소수 판정

😅채점 및 기타 정보

  • 이 문제의 채점 우선 순위는 2이다.

😎나의 풀이

const input = require('fs').readFileSync('/dev/stdin').toString().trim()
let num = Number(input)
const result = []
let minNum = 2
while(num >= minNum) {
    if(num % minNum === 0) {
        num /= minNum
        result.push(minNum)
        minNum = 2
    } else {
        minNum ++
    }
}

console.log(result.join("\n"))
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글