Algorithm/백준
백준 [11653] 소인수분해 (JAVA)
youngjae-kim
2024. 8. 20. 19:04
728x90
반응형
문제
풀이
입력받은 N의 소수인 인수들을 구하는 문제이다.
√N까지 반복문을 돌면서 2부터 나누어 떨어지는 수가 있다면 떨어지지 않을 때까지 계속 해서 나누어 준다.
남은 수가 1이 아니라면 남은 수를 출력해야 나머지 수가 출력된다.
정답코드
package com.baekjoon.math.p11653;
import java.util.*;
public class Main {
static int MAX_NUM = 10_000_000;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
StringBuilder sb = new StringBuilder();
for (int i = 2; i <= Math.sqrt(N); i++) {
while (N % i == 0) {
N = N / i;
sb.append(i + "\n");
}
}
if (N != 1) {
sb.append(N);
}
System.out.println(sb);
sc.close();
}
}
728x90
반응형