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