Moved problems till 56 to Python.

This commit is contained in:
2019-07-17 21:29:59 -04:00
parent 301033d17d
commit c624e6ac52
23 changed files with 417 additions and 23 deletions

View File

@@ -1,8 +1,38 @@
from itertools import combinations
from lib_prime import primes
def get_replacements(n):
n = str(n)
xss = [[i for i in range(0, len(n)) if n[i] == d]
for d in "0123456789"]
xss = [x
for xs in xss if xs
for i in range(1, len(xs) + 1)
for x in combinations(xs, i)]
xss = ["".join(['x' if i in xs else d for i, d in enumerate(n)])
for xs in xss]
return xss
def euler_051():
return 0
replacements = {}
ps = primes(1000000)
for p in ps:
for r in get_replacements(p):
try:
replacements[r].append(p)
if len(replacements[r]) == 8:
# print(replacements[r])
s = replacements[r][0]
return s
except KeyError:
replacements[r] = [p]
if p > 1000000:
break
return s
if __name__ == "__main__":
print("e051.py: " + str(euler_051()))
assert(euler_051() == 0)
assert(euler_051() == 121313)