
Untitled
By: a guest on
Jun 27th, 2012 | syntax:
Python | size: 0.59 KB | hits: 25 | expires: Never
k = 20
from math import sqrt, pow
def fact(n):
l = {}
i = 1
while (n > 1):
if n % (i+1) == 0:
n /= i+1
if (i+1) in l: l[i+1]+=1
else: l[i+1]=1
i = 0
i += 1
return l
l = []
for i in xrange(k-2):
l.append(fact(i+2))
factors = set()
for i in l:
for j in i: factors.add(j)
factors = list(factors)
factors.sort()
maxfactors = {}
for i in factors:
for j in l:
if i in j:
if i not in maxfactors: maxfactors[i]=j[i]
elif maxfactors[i]<j[i]: maxfactors[i]=j[i]
result = 1
for i in maxfactors:
result *= int(pow(i,maxfactors[i]))
print result