2018/Day14/Day14A.py

45 lines
937 B
Python
Raw Normal View History

2018-12-15 12:25:13 +00:00
from sys import argv, exit
try:
input_ = int(argv[1])
except IndexError:
print(f"Usage: {argv[0]} [input]")
exit(1)
recipes = [3, 7]
a, b = 0, 1
def print_recipes():
for i, recipe in enumerate(recipes):
if i == a:
print(f"({recipe:>2d})", end=" ")
elif i == b:
print(f"[{recipe:>2d}]", end=" ")
else:
print(f" {recipe:>2d} ", end=" ")
print()
target = None
i = 0
while len(recipes) < input_ + 10:
# print_recipes()
next_ = recipes[a] + recipes[b]
digits = []
if next_ == 0:
digits.append(0)
else:
while next_:
digits.append(next_ % 10)
next_ //= 10
recipes.extend(digits[::-1])
a = (a + recipes[a] + 1) % len(recipes)
b = (b + recipes[b] + 1) % len(recipes)
# print_recipes()
output = recipes[input_:input_ + 10]
assert len(output) == 10
print("".join(str(x) for x in output))