Algorithm/Baekjoon
[백준 알고리즘][자바] 11653번 : 소인수분해
hyunipad
2021. 8. 2. 23:54
반응형
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
이번 포스팅은 11653번 : 소인수분해입니다.
먼저 소인수란 자연수의 인수중 소수를 뜻합니다. 어떤 자연수를 소인수의 곱으로 분해한 것을 소인수분해라고 합니다.
거창하게 소인수라는 말을 쓰지만, 실상은 그냥 자연수를 나눌 수 있는 가장 작은 자연수로 잘게 쪼개는 것입니다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine());
for (int i = 2; i <= num; i++) { // 2부터 시작
if (num % i == 0) { // 나머지가 0이면 소인수 가능 숫자
bw.write(String.valueOf(i) + "\n");
num = num / i;
i = 1; // 소인수 했으면 다시 2부터 시작하기 위해 i를 1로 리셋
}
}
br.close();
bw.flush();
bw.close();
}
}
반응형