정수 N을 소이수 분해하여
오름차순으로 출력합시다
코드입니다
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
while (true) {
for (int i=2;i<=n;i++) {
if(n%i==0) {
n = n/i;
System.out.println(i);
break;
}
}
if(n==1) return;
}
}
}
if(n==1) return; 코드는
소인수 분해가 끝나면 출력을 중지하거나
1이 입력되도 중지되도록 하는 코드입니다
원래 소수인수 분해는 소수만 나누지만
저희는 작은 순서대로 출력해야하기 때문에 (2~~~ 3~~~)
소수만 나누지 않아도 알아서 잘 될겁니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 11659 JAVA 자바] 구간 합 구하기 4 (0) | 2023.08.25 |
---|---|
[백준 11654 JAVA 자바] 아스키 코드 (0) | 2023.08.25 |
[백준 11651 JAVA 자바] 좌표 정렬하기 2 (0) | 2023.08.25 |
[백준 11650 JAVA 자바] 좌표 정렬하기 (0) | 2023.08.25 |
[백준 11399 JAVA 자바] ATM (0) | 2023.08.25 |