瀏覽代碼

Solve day 14

Taddeus Kroes 7 年之前
父節點
當前提交
53718e2ec6
共有 1 個文件被更改,包括 23 次插入0 次删除
  1. 23 0
      14_recipes.py

+ 23 - 0
14_recipes.py

@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+n = 440231
+digits = []
+s = n
+while s:
+    digits.append(s % 10)
+    s //= 10
+nb = bytes(reversed(digits))
+scores = bytearray((3, 7))
+a, b = 0, 1
+
+while len(scores) <= 11 + n or nb not in scores[-8:]:
+    sa = scores[a]
+    sb = scores[b]
+    s = sa + sb
+    if s > 9:
+        scores.append(s // 10)
+    scores.append(s % 10)
+    a = (a + 1 + sa) % len(scores)
+    b = (b + 1 + sb) % len(scores)
+
+print(''.join(chr(x + ord('0')) for x in scores[n:n + 10]))
+print(scores.rindex(nb))