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,39 @@
from lib_prime import primes
def euler_049():
return 0
def find_increasing_sequence(xs):
deltas = [(xs[j] - xs[i], i, j)
for i in range(0, len(xs) - 1)
for j in range(i + 1, len(xs))
]
d = {}
for delta, i, j in deltas:
if delta in d and d[delta][-1] == i:
d[delta].append(j)
else:
d[delta] = [i, j]
for delta, sequence in d.items():
if len(sequence) == 3:
return [xs[index] for index in sequence]
return []
ps = [p for p in primes(10000) if p > 1000]
d = {}
for p in ps:
s = "".join(sorted(str(p)))
try:
d[s].append(p)
except KeyError:
d[s] = [p]
pss = [value for key, value in d.items() if len(value) >= 3]
s = [find_increasing_sequence(ps)
for ps in pss if find_increasing_sequence(ps)]
return int("".join(map(str, s[1])))
if __name__ == "__main__":
print("e049.py: " + str(euler_049()))
assert(euler_049() == 0)
assert(euler_049() == 296962999629)