본문 바로가기
Algorithm/최적화

[백준] 11653번 소인수분해

by HANNI하니 2023. 9. 21.

사용 언어 - Python3

문제 -  11653번 소인수분해

 

11653번: 소인수분해

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

www.acmicpc.net

 

정답

최적화 - 정수론(수학) (정답 맞춘 여부 O)

n을 i로 나눴을 때 0이라면 = 약수라면, n = n/i로 업데이트

같은 i로 나눈 값이 0으로 나누어 떨어진다면 계속 i로 나눠줌

안 나누어 떨어질 때까지! 반복

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

 

레퍼런스

  • 정답 깃허브

https://github.com/yyeongeun/codingtest/blob/main/BAEKJOON/11653_%EC%86%8C%EC%9D%B8%EC%88%98%EB%B6%84%ED%95%B4.py

 

'Algorithm > 최적화' 카테고리의 다른 글

[백준] 2436번 공약수  (0) 2023.10.23
[백준] 1407번 2로 몇 번 나누어질까  (1) 2023.09.22
[백준] 14232번 보석 도둑  (0) 2023.09.22
[백준] 1979번 소수 찾기  (0) 2023.09.21
[백준] 15736번 청기 백기  (0) 2023.09.21

댓글