Solve problem 99... yes I definitely should not have struggled that hard

main
Felix Martin 2021-04-22 14:55:46 -04:00
parent 6af234724d
commit 194393cae3
1 changed files with 8 additions and 26 deletions

View File

@ -1,43 +1,25 @@
from collections import namedtuple import math
Exp = namedtuple("Exp", ["b", "p"]) def exp_log(base, power):
return power * math.log(base)
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def compare_exp(a, b):
g = gcd(a.p, b.p)
print(g)
return (Exp(a.b, a.p // g), Exp(b.b, b.p // g))
def read_exps(): def read_exps():
with open("../txt/EulerProblem099.txt", "r") as f: with open("../txt/EulerProblem099.txt", "r") as f:
return [Exp(int(s[0]), int(s[1])) return [(exp_log(int(s[0]), int(s[1])), i + 1)
for i, line in enumerate(f.readlines()) for i, line in enumerate(f.readlines())
if (s := line.split(","))] if (s := line.split(","))]
def euler_099(): def euler_099():
pairs = read_exps() exps = read_exps()
#a = Exp(2, 350) exps.sort()
#b = Exp(5, 150) return exps[-1][1]
i = 19
a, b = pairs[i:i + 2]
print(a, b)
a, b = compare_exp(a, b)
print(a, b)
return 0
if __name__ == "__main__": if __name__ == "__main__":
solution = euler_099() solution = euler_099()
print("e099.py: " + str(solution)) print("e099.py: " + str(solution))
# assert(solution == 0) assert(solution == 709)