瀏覽代碼

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