summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2011-12-01 15:42:46 +0100
committerReiner Herrmann <reiner@reiner-h.de>2014-08-31 20:35:09 +0200
commitafa064013cff0579b3c6cee8079a7d60af88f646 (patch)
treefdeb3d2f69d5e53ea951705bdc9421cb6e8d6346
parent83ca7628fbba1b99cfd60bf6e40b5e76d7a0d5f1 (diff)
solved projecteuler 124
-rw-r--r--src/projecteuler/124.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/projecteuler/124.py b/src/projecteuler/124.py
new file mode 100644
index 0000000..19486d6
--- /dev/null
+++ b/src/projecteuler/124.py
@@ -0,0 +1,31 @@
+from operator import itemgetter
+from common import sieve
+
+limit = 100000
+
+primes = sieve(limit).primes()
+prime_list = list(primes)
+prime_list.sort()
+
+def rad(n):
+ result = 1
+ if n in primes:
+ return n
+
+ for p in prime_list:
+ if result*p > n:
+ break
+ if n % p == 0:
+ result *= p
+ return result
+
+
+
+radlist = []
+
+for n in xrange(1, limit+1):
+ radlist.append((n, rad(n)))
+
+radlist.sort(key=itemgetter(1))
+print radlist[10000-1][0]
+