From 7f8cd0b60f51fe3e138b6932c34eb85eda9236ca Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Sun, 13 Dec 2020 20:02:53 +0100 Subject: [PATCH] Day 13 (minified version) --- day13/part2-minified.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 day13/part2-minified.py diff --git a/day13/part2-minified.py b/day13/part2-minified.py new file mode 100644 index 0000000..014a69a --- /dev/null +++ b/day13/part2-minified.py @@ -0,0 +1,11 @@ +from functools import reduce +from math import gcd +lcm = lambda a, b: abs(a*b) // gcd(a, b) +def merge(a, b, x, y): + while b != y: + if b < y: + b += a * ((y-b-1) // a + 1) + else: + y += x * ((b-y-1) // x + 1) + 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])