코딩테스트/Algorithm
[백준 11653] 소인수분해
hu6r1s
2023. 12. 14. 18:41
[Bronze I] 소인수분해 - 11653
성능 요약
메모리: 31252 KB, 시간: 1064 ms
분류
수학, 정수론, 소수 판정
제출 일자
2023년 12월 5일 22:25:06
문제 설명
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
n = int(input())
result = []
for i in range(2, n+1):
if n % i == 0:
while n % i == 0:
n //= i
result.append(i)
print(*result, sep="\n")
풀이
약수로 계속 나누면서 리스트에 저장해주고 결과로 리스트를 출력시켜주면 된다.