home > algorithm > baekjoon > [baekjoon] 소인수분해 (백준 11653 java 풀이)

[baekjoon] 소인수분해 (백준 11653 java 풀이)
algorithm baekjoon step9

intro : 소인수 분해는 2부터 자기자신의 값으로 나누어 나머지가 0이 되는 값들의 몫을 나열하는 것이다.

백준 문제링크

문제

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

입력

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

출력

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

문제 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int number = Integer.parseInt(br.readLine());
        if (!(number == 1)) {
            for (int i = 2; i <= number; i++) {
                while (number % i == 0) {
                    number /= i;
                    System.out.println(i);
                }
            }
        }
    }
}