From 2a07c6458cf2a1a8e40b9d980fedb650cb0ba727 Mon Sep 17 00:00:00 2001 From: dece Date: Sun, 27 Dec 2020 15:19:58 +0100 Subject: [PATCH] Day 25 --- 2020/day25.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 2020/day25.py diff --git a/2020/day25.py b/2020/day25.py new file mode 100644 index 0000000..ccd0aa3 --- /dev/null +++ b/2020/day25.py @@ -0,0 +1,29 @@ +import sys + +def main(): + lines = [line.rstrip() for line in sys.stdin] + cpk, dpk = int(lines[0]), int(lines[1]) + + dls = crack(dpk, 7) # cracking door's key is much quicker + k = gen_key(cpk, dls) + print(k) + +def step(v, sn): + return (v * sn) % 20201227 + +def crack(pk, sn): + i = 0 + v = 1 + while v != pk: + v = step(v, sn) + i += 1 + return i + +def gen_key(sn, ls): + v = 1 + for _ in range(ls): + v = step(v, sn) + return v + +if __name__ == "__main__": + main()