백준 11653 소인수분해

김민영·2023년 1월 3일
0

알고리즘

목록 보기
25/125

골드바흐 문제를 계속 풀다보니 기존에 문제 풀던 방식 그대로
소수를 먼저 찾고 그 다음에 인수 분해를 하게 됐더니 시간 초과가 났다.

  • 2부터 주어진 숫자 N까지 차례대로 N을 나눈다. 나눈 나머지가 0이 아닐 때까지 계속 나누고 N은 나눈 몫으로 업데이트 해준다.
    • 만일 8의 배수면, 2로 3번을 나눠주니 2의 배수(소수가 아님)는 이후 계산에 포함되지 않음.
N = int(input())

i = 2
while N != 1:
    if N % i == 0:
        N = N // i
        print(i)
    else:
        i += 1
  • 어떻게 푸는지 아니 너무 간단한 거였네요
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글