summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2024/22/python/main.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/2024/22/python/main.py b/2024/22/python/main.py
index 354ae78..2354726 100644
--- a/2024/22/python/main.py
+++ b/2024/22/python/main.py
@@ -1,20 +1,22 @@
from fileinput import input
+from itertools import islice
lines = [int(line.strip()) for line in input()]
-def evolve(x, n):
- for _ in range(n):
+def prices(secret):
+ x = secret
+ while True:
+ yield x
x ^= x << 6
x &= 0xFFFFFF
x ^= x >> 5
x &= 0xFFFFFF
x ^= x << 11
x &= 0xFFFFFF
- return x
-silver = sum(evolve(x, 2000) for x in lines)
+silver = sum(next(islice(prices(x), 2000, None)) for x in lines)
gold = 0
print("silver:", silver)