본문 바로가기
알고리즘 문제풀이

[Backjoon] 11653번 문제 - 소인수분해

by 마스터누누 2017. 6. 3.
728x90
반응형

정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.


풀이


우선 2개의 반복문을 사용한다.

외부에 while은 입력 받은 수가 나눗셈 연산을 거듭하면서 마지막에 1로 수렴하는 것을 판단한다.

for는 나눠지는 수를 찾기 위해 i가 2부터 증가하며 만약 입력 받은 값이 i로 나눠진다면 나눈후 i값을 출력한다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 6. 3..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
 
        while(num!=1){
            for(int i=2; i<=num; i++){
                if(num%i==0){
                    num /= i;
                    System.out.println(i);
                    break;
                }
            }
        }
    }
}
cs


반응형

댓글