Where are the extra values coming from?
sum([2, 3, 4, 5], 3)
says "sum the first 3
elements of the array [2, 3, 4, 5]
.
So,
sum([2, 3, 4, 5], 3)
returns sum([2, 3, 4, 5], 2) + [2, 3, 4, 5][2] == sum([2, 3, 4, 5], 2) + 4
We need the value of sum([2, 3, 4, 5], 2)
sum([2, 3, 4, 5], 2)
returns sum([2, 3, 4, 5], 1) + [2, 3, 4, 5][1] == sum([2, 3, 4, 5], 1) + 3
We need the value of sum([2, 3, 4, 5], 1)
sum([2, 3, 4, 5], 1)
returns sum([2, 3, 4, 5], 0) + [2, 3, 4, 5][0] == sum([2, 3, 4, 5], 0) + 2
We need the value of sum([2, 3, 4, 5], 0)
sum([2, 3, 4, 5], 2)
returns 0
Thus, sum([2, 3, 4, 5], 1)
returns sum([2, 3, 4, 5], 0) + [2, 3, 4, 5][0] == sum([2, 3, 4, 5], 0) + 2 == 0 + 2 == 2
Thus, sum([2, 3, 4, 5], 2)
returns sum([2, 3, 4, 5], 1) + [2, 3, 4, 5][1] == sum([2, 3, 4, 5], 1) + 3 == 2 + 3 == 5
Thus, sum([2, 3, 4, 5], 3)
returns sum([2, 3, 4, 5], 2) + [2, 3, 4, 5][2] == sum([2, 3, 4, 5], 2) + 4 == 5 + 4 == 9
sum([2, 3, 4, 5], 3)
returns 9