새소식

알고리즘/문제풀이

백준 - 11653번 소인수분해

  • -

코드


package baekjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class No_11653 {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int N = Integer.parseInt(br.readLine());

		StringBuilder sb = new StringBuilder();

		// 소수를 찾으려면 주어진 수의 제곱근만큼만 돌아보면 찾을 수 있음
		for (int i = 2; i <= Math.sqrt(N); i++) {
			// 소수로 나누어 진다면
			while (N % i == 0) {
				sb.append(i)
					.append("\n");
				N /= i;
			}
		}

		// N이 1이 아니면 자기 자신이 남았다는 소리
		if (N != 1) {
			sb.append(N);
		}

		System.out.println(sb);
	}
}
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.