There are two provided implementations for the number_of_paths
function. The ‘hardcoded’ version is correct, but the simplified version is not.
pg. 176
def number_of_paths(n):
return 0 if n <= 0
return 1 if n == 1
return 2 if n == 2
return 4 if n == 3
return number_of_paths(n - 1) + number_of_paths(n - 2) + number_of_paths(n - 3)
end
pg. 177
def number_of_paths(n):
return 0 if n < 0
return 1 if n == 1 || n == 0
return number_of_paths(n - 1) + number_of_paths(n - 2) + number_of_paths(n - 3)
end
Page 177’s implementation returns 1 instead of 0 for number_of_paths(0)
.