day 9, trivial recursion

This commit is contained in:
setop 2023-12-09 09:17:26 +01:00
parent 492af0c576
commit 1d4c5f6f81
2 changed files with 22 additions and 0 deletions

11
d09/part1.py Normal file
View File

@ -0,0 +1,11 @@
import sys
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
def extrapolate(L):
if all(not a for a in L):
return L+[0]
M = [b-a for a,b in zip(L,L[1:])]
return L+[L[-1]+extrapolate(M)[-1]]
print(sum(extrapolate(l)[-1] for l in L))

11
d09/part2.py Normal file
View File

@ -0,0 +1,11 @@
import sys
L = [list(map(int,l.split(' '))) for l in sys.stdin.read().splitlines()]
def extrapolate(L):
if all(not a for a in L):
return [0]+L
M = [b-a for a,b in zip(L,L[1:])]
return [L[0]-extrapolate(M)[0]]+L
print(sum(extrapolate(l)[0] for l in L))