Exemple #1
0
    while len(z) < 3:
        z = '0' + z
    return z

g = [x for x in range(12, 987+1) if x % 17 == 0]
f = [x for x in range(12, 987+1) if x % 13 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in g]]
e = [x for x in range(12, 987+1) if x % 11 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in f]]
d = [x for x in range(12, 987+1) if x % 7 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in e]]
c = [x for x in range(12, 987+1) if x % 5 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in d]]
b = [x for x in range(12, 987+1) if x % 3 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in c]]
a = [x for x in range(12, 987+1) if x % 2 == 0 and pad(x)[1:2+1] in [pad(y)[0:1+1] for y in b]]


values = []

for t in g:
    for u in [x for x in f if pad(x)[1:2+1] == pad(t)[0:1+1]]:
        for v in [x for x in e if pad(x)[1:2+1] == pad(u)[0:1+1]]:
            for w in [x for x in d if pad(x)[1:2+1] == pad(v)[0:1+1]]:
                for x in [x for x in c if pad(x)[1:2+1] == pad(w)[0:1+1]]:
                    for y in [p for p in b if pad(p)[1:2+1] == pad(x)[0:1+1]]:
                        for z in [x for x in a if pad(x)[1:2+1] == pad(y)[0:1+1]]:
                            for zz in range(1, 9+1):
                                blah = str(zz) + pad(z) + pad(w) + pad(t)
                                print(blah)
                                if isPandigital(blah):
                                    values.append(int(blah))

print(values)
print(sum(values))
Exemple #2
0
'''
Created on Apr 12, 2009

@author: anon
'''
from ProjectEulerLibrary import isPrime, isPandigital

for n in range(1,9000000):
    if isPandigital(n) and isPrime(n):
        print(n)
Exemple #3
0
'''
Created on Apr 18, 2009

@author: anon
'''

from ProjectEulerLibrary import isPandigital

maxProduct = 0

for n in range(1,9999):
    product = ''
    i = 1
    while len(str(product)) < 9:
        newProduct = n * i
        product = product + str(newProduct)
        i = i + 1
    if isPandigital(int(product)):
        if int(product) > maxProduct:
            maxProduct = int(product)

print(maxProduct)