만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/기억노트

[python] 주어진 수가 소수인지 판별하기

D36choi 2020. 8. 26. 00:45
728x90
def is_prime(num):
    if num == 1 or num == 0:
        return False
    else:
        n = int(num ** 0.5)

        for i in range(2, n + 1):
            if num % i == 0:
                return False
        return True

주어진 수 num에 대해 sqrt(num) 까지에 대해서만 검사하면, 이 num이 소수인지를 판별하는데에 문제가 없다.
이렇게 하면 큰 수에 대해 루프 시간을 num^0.5까지만큼 단축할 수 있다!

  • 1과 0은 소수가 아니므로 제외한다.