MapleStory Finger Point

백준 알고리즘

백준 알고리즘 11653번 소인수분해 (파이썬)

吳鍾振 2022. 8. 20. 16:45

문제:

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

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.


from math import sqrt
N = int(input())
divide = 2

while divide <= sqrt(N):
    if N % divide == 0:
        print(divide)
        N = N // divide
    else:
        divide += 1

if N > 1:
    print(N)

결과:

반응형