Contents

[백준 11653]소인수분해 - JAVA 풀이

   Aug 25, 2021     1 min read     - Comments

바로가기

문제

문제


해석

  1. 숫자 N이 주어졌을 때, 소인수분해하여 출력하는 문제

풀이

  • 소인수분해의 정의는 1보다 큰 자연수를 소인수들만의 곱으로 나타내는 방법을 말한다.

코드

import java.util.*;
import java.io.*;

public class Main
{  
    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              
        System.out.println(calc(Integer.parseInt(br.readLine())));
    }
    
    public static StringBuilder calc(int n){
        StringBuilder sb = new StringBuilder();
        int factor = 2; //인수 초기값
        
        while(n != 1){
            if(n % factor == 0){
                sb.append(factor).append("\n");
                n /= factor;
            }
            else
                factor++;
        }
        
        return sb;
    }
}