Jelajahi Sumber

Moved some common functions to 'utils'

Taddeus Kroes 13 tahun lalu
induk
melakukan
21186ede2e
5 mengubah file dengan 20 tambahan dan 31 penghapusan
  1. 0 8
      frac.py
  2. 1 1
      problem243.py
  3. 1 1
      problem33.py
  4. 9 21
      problem41.py
  5. 9 0
      utils.py

+ 0 - 8
frac.py

@@ -1,8 +0,0 @@
-def _gcd(a, b):
-    while b:
-        a, b = b, a % b
-
-    return a
-
-def gcd(*args):
-    return reduce(_gcd, args)

+ 1 - 1
problem243.py

@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 from __future__ import division
-from primes import is_prime, nprimes
+from utils import is_prime, nprimes
 
 print list(nprimes(15499))
 import sys; sys.exit()

+ 1 - 1
problem33.py

@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 from __future__ import division
 from itertools import combinations, permutations
-from frac import gcd
+from utils import gcd
 
 nrs = [(i, str(i)) for i in xrange(10, 100)]
 pairs = ((0, 0), (0, 1), (1, 0), (1, 1))

+ 9 - 21
problem41.py

@@ -1,27 +1,15 @@
 #!/usr/bin/env python
-def is_prime(n):
-    if n == 2:
-        return True
+from utils import is_prime
 
-    if n < 2 or not n & 1:
-        return False
+from itertools import permutations
 
-    for i in xrange(3, int(n ** .5) + 1, 2):
-        if not divmod(n, i)[1]:
-            return False
+m = 0
 
-    return True
+for i in xrange(2, 10):
+    for digits in permutations(map(str, range(i, 0, -1))):
+        n = int(''.join(digits))
 
-if __name__ == '__main__':
-    from itertools import permutations
+        if n > m and is_prime(n):
+            m = n
 
-    m = 0
-
-    for i in xrange(2, 10):
-        for digits in permutations(map(str, range(i, 0, -1))):
-            n = int(''.join(digits))
-
-            if n > m and is_prime(n):
-                m = n
-
-    print m
+print m

+ 9 - 0
primes.py → utils.py

@@ -1,3 +1,12 @@
+def _gcd(a, b):
+    while b:
+        a, b = b, a % b
+
+    return a
+
+def gcd(*args):
+    return reduce(_gcd, args)
+
 def is_prime(n):
     if n == 2:
         return True