diff options
| -rw-r--r-- | src/projecteuler/124.py | 31 |
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] + |
