Agorithm/백준 알고리즘
백준 알고리즘 11653번 소인수분해(python)
kimjinho1
2020. 2. 16. 10:06
728x90
반응형
에라토스네테스의 체를 사용해 소수만 찾아 풀 수도 있지만 시간이 넉넉해서 그냥 반복문 하나만 사용해서 풀었다.
EX) n = 72
1) 72 % 2 = 0 -> 2 출력 -> n = 72//2 = 36
2) 36 % 2 = 0 -> 2 출력 -> n = 36//2 = 18
3) 18 % 2 = 0 -> 2 출력 -> n = 18//2 = 9
4) 9 % 3 = 0 -> 3 출력 -> n = 9//3 = 3
5) 3 % 3 = 0 -> 3 출력 -> n = 3//3 = 1 -> n이 1이므로 반복문 종료
n = int(input())
while(n != 1):
for i in range(2, n+1):
if n % i == 0:
print(i)
n = n //i
break
728x90
반응형