[백준] 11653. 소인수분해

최대 1 분 소요

문제 링크

[백준] 11653. 소인수분해


풀이 과정

while (N != 1) {
    int target = 2;

    while (N % target != 0) {
        target++;
    }

    answer.append(target);
    answer.append("\n");
    N /= target;
}

target을 2부터 시작해 N으로 나누어 떨어지는 값을 구하면 그 값이 소인수가 됩니다. target을 정답을 출력할 answer에 붙여준 뒤, Ntarget으로 나눈 몫으로 치환합니다.


코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        StringBuilder answer = new StringBuilder();

        while (N != 1) {
            int target = 2;

            while (N % target != 0) {
                target++;
            }

            answer.append(target);
            answer.append("\n");
            N /= target;
        }

        System.out.println(answer);
    }
}

카테고리:

업데이트:

댓글남기기