Solve problem 92

main
Felix Martin 2021-04-19 09:06:06 -04:00
parent 01ce98cec6
commit f5559af1b1
2 changed files with 53 additions and 0 deletions

29
python/e092.py Normal file
View File

@ -0,0 +1,29 @@
from functools import cache
def euler_092():
count = 0
square_dict = {str(i): i * i for i in range(10)}
square_lookup = lambda s: square_dict[s]
@cache
def number_chain(n):
if n == 1 or n == 89:
return n
squared_digits = map(square_lookup, str(n))
new_n = sum(squared_digits)
n = number_chain(new_n)
return n
for n in range(1, 10**7 + 1):
if number_chain(n) == 89:
count += 1
return count
if __name__ == "__main__":
solution = euler_092()
print("e092.py: " + str(solution))
assert(solution == 8581146)

24
python/e099.py Normal file
View File

@ -0,0 +1,24 @@
# def lower_upper_bound(a, b):
# print(a, b)
# return 0
def euler_099():
with open("../txt/EulerProblem099.txt", "r") as f:
pairs = [(int(s[0]), int(s[1]), i)
for i, line in enumerate(f.readlines())
if (s := line.split(","))]
# pairs.sort()
print(pairs[:2])
return 0
if __name__ == "__main__":
solution = euler_099()
print("e099.py: " + str(solution))
assert(solution == 0)