nfirvine.comwiki

5

Filed in: Euler.5 · Modified on : Mon, 04 Feb 08

import operator

p = range(11,21)

perm = [[p[x] for x in xrange(len(p)) if 2**x & mask == 2**x] for mask in range(1,2**len(p))]
prods = map(lambda x: reduce(operator.mul,x),perm)
def divisibleby(num, lst):
    for x in lst:
        if not num%x ==0:
            return False
    return True

answer = min(filter(lambda x: divisibleby(x, p), prods))

print answer

Powered by PmWiki