백준 1929 소수 구하기

Hyun·2022년 9월 6일
0

코딩테스트

목록 보기
1/66

실패이유 : 시간초과

small, big = map(int, input().split())

for num in range(small, big + 1):

    prime_check = True

    if num == 1:
        prime_check = False 

    else:
        for i in range(2, int(num ** 0.5) + 1):  # 제곱근만큼만 검사하여 시간을 절약
            if num % i == 0:
                prime_check = False
                break

    if prime_check:
        print(num)

int(num ** 0.5) + 1

  • 2 ~ num 까지 반복하면서 소수를 체크하는 것은 시간초과가 발생한다.
  • 2 ~ (num의 제곱근) 까지 반복하면서 소수를 효율적으로 체크할 수 있다.

0개의 댓글

관련 채용 정보