числа Фибоначчи, почему эта повторяющаяся функция работает?

Я просматриваю книгу по программированию, и один из примеров касается чисел Фибоначчи, и как повторяющаяся функция находит число Фибоначчи для n-го числа.

Код выглядит так:

Int fib (int n)
{
If (n<3)
Return (1);
Else
Return (fib(n-1))+(fib(n-2))
}

Это не совсем так, потому что я набираю со своего телефона и понимаю, как работает код, он вызывает сам себя, пока не вернет 1, а затем складывает возвращайте значения, пока у вас не будет правильного числа Фибоначчи для позиции в последовательности.

Так что мне не нужна помощь с кодом. Что мне действительно нужно, так это понять, почему это работает. Каким образом добавление всех возвратов дает правильный ответ?

Кто-нибудь может объяснить, почему это работает. Спасибо. Это сводит меня с ума.

9
задан Joseph 3 November 2010 в 23:52
поделиться