BOJ 11653 소인수분해
1. 문제 링크
https://www.acmicpc.net/problem/11653
2. 문제 해설
입력 받은 정수를 n, n을 나누는 수를 a라고 하자.
a를 최초의 소수인 2로 초기화 한다.
아래의 과정을 n이 1이 될 때까지 반복한다.
n이 a로 나눠지면 n을 a로 나누고 이 때의 a값을 담는다.
n이 a로 나눠지지않으면 a를 1 늘린다.
3. 코드 보기
import java.io.*;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
int a = 2;
while (n != 1)
{
if ((n % a) == 0)
{
n /= a;
sb.append(a + "\n");
}
else
a++;
}
bw.write(sb.toString());
br.close();
bw.flush();
bw.close();
}
}
'PS > BOJ' 카테고리의 다른 글
BOJ 1182 부분수열의 합 [Java] (0) | 2021.11.26 |
---|---|
BOJ 11659 구간 합 구하기 4 [Java] (0) | 2021.11.25 |
BOJ 6588 골드바흐의 추측 [Java] (0) | 2021.09.15 |
BOJ 1929 소수 구하기 [Java] (0) | 2021.09.10 |
BOJ 11576 Base Conversion [Java] (0) | 2021.08.12 |