У меня есть метод с именем fibs_rec
, который приводит к неожиданному выводу:
def fibs_rec(n)
if n == 1 || n == 0
return 1
else
a = fibs_rec(n-1) + fibs_rec(n-2)
puts a
return a
end
end
fibs_rec(5)
Вызов fibs_rec(5)
должен вернуть 1,1,2,3,5
, но фактический вывод:
2
3
2
5
2
3
8
Мало того, что вывод неправильный, ему не хватает числа с самого начала.
Может кто-нибудь объяснить, почему это происходит?