12 lines
342 B
Ruby
12 lines
342 B
Ruby
inputs = []
|
|
File.foreach('./2023/day9/data') do |line|
|
|
inputs << line.split(' ').map(&:to_i)
|
|
end
|
|
|
|
def add_derivative(inputs)
|
|
return 0 if inputs.all?(&:zero?)
|
|
inputs[-1] - add_derivative(inputs.map.with_index { |x, i| i.zero? ? x : inputs[i - 1] - x }[1..inputs.length])
|
|
end
|
|
|
|
puts inputs.map { |input| add_derivative input.reverse }.sum
|