This commit is contained in:
sejo 2023-12-09 07:39:51 +01:00
parent 8fcb93dcae
commit 6dacb32cd9
2 changed files with 50 additions and 0 deletions

47
12023/09/09.lua Normal file
View File

@ -0,0 +1,47 @@
io.input("input")
sum1 = 0
sum2 = 0
for line in io.lines() do
seq = {}
for num in line:gmatch("%-*%d+") do -- THE SIGN!
table.insert(seq,tonumber(num))
end
len = #seq
seqs = {}
table.insert(seqs, seq)
--print(table.concat(seq,", "))
ptr = 1
diffs = {}
repeat
all0 = true
curr = seqs[ptr]
nseq = {}
--print(ptr)
for i=ptr+1,len do
nseq[i] = curr[i]-curr[i-1]
if nseq[i]~= 0 then all0 = false end
--print(i,curr[i], curr[i-1], "->", nseq[i])
end
table.insert(seqs, nseq)
ptr = ptr+1
until all0
nextnum = 0
for i=#seqs,1,-1 do
nextnum = nextnum + seqs[i][len]
end
sum1 = sum1 + nextnum
--print("next:",nextnum)
-- part 2
prevnum = 0
for i=1,#seqs do
n = seqs[i][i]
prevnum = (i%2==0) and (prevnum-n) or prevnum+n
end
--print("prev:",prevnum)
sum2 = sum2 + prevnum
end
print("part 1", sum1)
print("part 2", sum2)

3
12023/09/test Normal file
View File

@ -0,0 +1,3 @@
0 3 6 9 12 15
1 3 6 10 15 21
10 13 16 21 30 45