개발 연습장/백준 문제풀이

[파이썬, Python] 백준 11653: 소인수분해

LooanCheong 2022. 12. 24. 21:28
반응형

문제

https://www.acmicpc.net/problem/11653

 

11653번: 소인수분해

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

www.acmicpc.net

코드

n = int(input())

if n == 1:
    print('')
for i in range(2, n+1):
    if n % i == 0:
        while n % i == 0:
            print(i)
            n = n/i

설명

우선 n을 입력받아주고, n이 1이라면 아무것도 출력하지 않는다.

이외의 케이스는 반복문을 진행해서 해결하는데,

만약 n이 i로 나누어진다면,
각 문장의 i를 출력하고,
i로 나누어지는 만큼 나누어준다.(72의 경우 2로 3번까지 나누어지므로 3번 반복)

더 이상 나누어지지 않을 때까지 반복한다.

반응형