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은 소수가 아니므로 제외한다.