소스 검색

41: Improved is_prime function.

Taddeus Kroes 14 년 전
부모
커밋
f0dab743bc
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      problem41.py

+ 2 - 3
problem41.py

@@ -1,14 +1,13 @@
-from math import sqrt, ceil
 from itertools import permutations
 
 def is_prime(n):
     if n == 2:
         return True
 
-    if not n % 2:
+    if n < 2 or not n & 1:
         return False
 
-    for i in xrange(3, int(ceil(sqrt(n))) + 1 + 1, 2):
+    for i in xrange(3, int(n ** .5) + 1, 2):
         if not divmod(n, i)[1]:
             return False