Day 09 (Part 3)
This commit is contained in:
20
day09/part3.py
Normal file
20
day09/part3.py
Normal 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)
|
||||||
Reference in New Issue
Block a user