IT&개발/Baekjoon

[Python] 백준 11653번 - 소인수분해

nimoes._. 2024. 4. 9. 16:00
728x90
반응형

소인수분해

문제 )

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

입력 )

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

출력 )

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

내 풀이 )

N = int(input())
divisor = 2 # 나누는 수를 2로 초기화

while N > 1:
    while N % divisor == 0:
        print(divisor) # 소인수 출력
        N //= divisor
    divisor += 1

해설 )

- N //= divisorN = N // divisor과 같음! (N을 divisor으로 나눈 몫을 다시 N에 저장)

결과 )

 

728x90
반응형