사용 언어 - Python3
문제 - 14232번 보석 도둑
정답
최적화 - 정수론(수학) (정답 맞춘 여부 O)
n을 i로 나눴을 때 0이라면 = 약수라면, n = n/i로 업데이트 반복한다.
answer 빈 리스트를 만들어줘서 약수들 저장!
n이 1이 아니라면, 마지막 n의 값을 answer에 추가해준다. 예. n=15 => [3], n=15/3=5 => [3,5]
n = int(input())
answer = []
for i in range(2, int(n**0.5)+1):
while n%i == 0:
answer.append(i)
n //= i
if n != 1:
answer.append(n)
print(len(answer))
print(*answer)
레퍼런스
- 정답 깃허브
'Algorithm > 최적화' 카테고리의 다른 글
[백준] 2436번 공약수 (0) | 2023.10.23 |
---|---|
[백준] 1407번 2로 몇 번 나누어질까 (1) | 2023.09.22 |
[백준] 11653번 소인수분해 (0) | 2023.09.21 |
[백준] 1979번 소수 찾기 (0) | 2023.09.21 |
[백준] 15736번 청기 백기 (0) | 2023.09.21 |
댓글