Solve three easy problems to Easy Prey award.

This commit is contained in:
2023-10-23 12:32:51 -04:00
parent 18180491c2
commit 5df0bcb2ac
3 changed files with 124 additions and 0 deletions

28
python/e120.py Normal file
View File

@@ -0,0 +1,28 @@
def remainder(a: int, n: int) -> int:
d = a * a
return (pow(a - 1, n, d) + pow(a + 1, n, d)) % d
def max_remainder(a: int) -> int:
n, r_max = 1, 2
while True:
r = remainder(a, n)
if r == r_max:
break
if r > r_max:
r_max = r
n += 1
assert(r_max > 2)
return r_max
def euler_120():
assert(remainder(7, 3) == 42)
assert(max_remainder(7) == 42)
return sum([max_remainder(n) for n in range(3, 1001)])
if __name__ == "__main__":
solution = euler_120()
print("e120.py: " + str(solution))
assert(solution == 333082500)