What I Learned/Algorithm Practice
[백준 - python] 11653번: 소인수분해
Interrobang
2022. 9. 25. 16:05
<문제 링크>
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

*key point: 소인수분해의 경우 2부터 불가능할 때까지 반복해서 나누어준 뒤 나누는 수를 1씩 증가시켜 반복하면 하면 배수의 경우가 자연스럽게 사라지므로 쉽게 수행된다.