Day 09 (Part 3)

This commit is contained in:
Sebastian Seedorf
2023-12-10 02:01:12 +01:00
parent 6b1339c0f3
commit 23207cd0b7

20
day09/part3.py Normal file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env python3
import math
from math import comb
from tqdm import tqdm
lines = (x.strip() for x in open("input.txt"))
result = 0
for line in tqdm(lines, total=200):
numbers = [int(x) for x in line.split(" ")]
combinations = [((idx+len(numbers))%2*2-1) * comb(len(numbers), idx) for idx in range(len(numbers))]
for _ in range(365*5):
numbers.append(sum(factor*val for factor, val in zip(combinations, numbers)))
combinations.append(-1)
combinations = [-combinations[0] if i == 0 else combinations[i-1]-combinations[i] for i in range(len(combinations))]
result += numbers[-1]
print(result)
print(result == 209183938389133193643668550962121882909751535)