Day 13 (minified version 2)

This commit is contained in:
Sebastian Seedorf
2020-12-13 20:06:19 +01:00
parent 7f8cd0b60f
commit d740cfd16b

View File

@@ -3,9 +3,7 @@ from math import gcd
lcm = lambda a, b: abs(a*b) // gcd(a, b) lcm = lambda a, b: abs(a*b) // gcd(a, b)
def merge(a, b, x, y): def merge(a, b, x, y):
while b != y: while b != y:
if b < y: if b < y: b += a * ((y-b-1) // a + 1)
b += a * ((y-b-1) // a + 1) else: y += x * ((b-y-1) // x + 1)
else:
y += x * ((b-y-1) // x + 1)
return lcm(a, x), b return lcm(a, x), b
print(reduce(lambda fn, fm: merge(*fn, *fm), ((int(x), -idx) for idx, x in enumerate([x.strip() for x in open("input.txt")][1].split(',')) if x != 'x'), (1, 0))[1]) print(reduce(lambda fn, fm: merge(*fn, *fm), ((int(x), -idx) for idx, x in enumerate([x.strip() for x in open("input.txt")][1].split(',')) if x != 'x'), (1, 0))[1])