KKG
Programming
KKG
전체 방문자
오늘
어제
  • 전체 글 보기 (84)
    • 회고 (9)
    • Bootcamp (19)
    • Error Handling (2)
    • Kotlin (1)
    • Java (19)
      • Java (14)
      • Spring (1)
      • JPA (2)
      • Link (2)
    • Python (5)
    • 알고리즘 (20)
      • 알고리즘 (4)
      • 백준 (14)
      • 프로그래머스 (1)
      • Link (1)
    • SQL (5)
      • SQL (1)
      • MySQL (4)
    • Web (2)
    • etc (1)

블로그 메뉴

  • 태그
  • 방명록
  • 깃허브

인기 글

티스토리

hELLO · Designed By 정상우.
KKG

Programming

알고리즘/알고리즘

[알고리즘] 소인수분해

2022. 1. 24. 08:12
n = int(input())

while n % 2 == 0: # 2로 나누어지면 n에 2를 나누고 2를 출력
    n //= 2
    print(2)
    
for i in range(3, int(n ** .5) + 1, 2): # 3부터 루트n까지 2씩 증가
    while n % i == 0: # i로 나누어지면 n에 i를 나누고 i를 출력
        n //= i
        print(i)
    if n == 1: break # n == 1 이면 for문 탈출
    
if n != 1:
    print(n) # 입력받은 n이 소수이면 아무런 계산도 하지 않고 그대로 나옴

 

#입력값
72

#출력값
2
2
2
3
3
# 입력값
9991

# 출력값
97
103
    '알고리즘/알고리즘' 카테고리의 다른 글
    • [알고리즘] CheatSheet - python
    • [알고리즘] 특정 구간 소수 ( 에라토스테네스의 체 )
    • [알고리즘] 소수 판정

    티스토리툴바