1 초 | 256 MB | 19429 | 10526 | 8295 | 53.679% |
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
답안
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.*;
public class Main {
//baekjoon #11653
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int input = Integer.parseInt(bf.readLine());
List<Integer> list = new ArrayList<>();
int num = 2;
if(input==1)return;
while(input!=1){
if(input%num==0){
input /= num;
list.add(num);
}else{
num++;
}
}
for(int i : list){
System.out.println(i);
}
}
}
백준 알고리즘 9020번 : 골드바흐의 추측 (0) | 2021.01.12 |
---|---|
백준 알고리즘 1929번 : 소수구하기 (에라토스테네스의 체) (0) | 2021.01.10 |
백준 알고리즘 2581번 : 소수 (0) | 2021.01.10 |
백준 알고리즘 1978번 : 소수 찾기 (0) | 2021.01.10 |
백준 알고리즘 1011번 : Fly me to the Alpha Centauri (0) | 2021.01.09 |