Algorithm/Python

[python] 백준 11653: 소인수분해

11653번: 소인수분해 (acmicpc.net)

 

11653번: 소인수분해

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

www.acmicpc.net

N = int(input())

if N == 1: print() # N이 1이라면 아무것도 출력하지 않는다.
    
for i in range(2, N+1): # 소인수분해는 정수를 2로 나누기 시작.
    if N % i == 0:  # 처음에 정수를 2로 나눴을 때 나머지가 0이라면, 
        while N % i == 0:  #                          i로 나눴을 때 0이 될 때까지 반복
            print(i)    # 그 값이 소인수이므로, 출력 
            N = N // i  # 이어서 정수를 i로 다시 나눔.

'Algorithm > Python' 카테고리의 다른 글

[python] 백준 11816번: 8진수, 10진수, 16진수  (0) 2022.01.22
[python] 백준 11720: 숫자의 합  (0) 2022.01.22