Вопрос по рекурсии (Числа Фибоначчи)

gerzzog

Новичок
Пользователь
Дек 24, 2021
12
0
1
Приветствую. Подскажите по теории, плиз.
есть код
Код:
def fibonacci(n):
    if n in (1, 2):
        return 1
    return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(7))
Я пытаюсь идти по коду:
Сразу мы плюсуем fibonacci(7-1) +fibonacci(7-2). Соответственно мы получаем два числа 5 и 6, которые
должны идти в рекурсию fibonacci(6) + fibonacci(5).
Исходя из этого дальше должно идти fibonacci(6): разбивается на fibonacci(5) + fibonacci(4) , а fibonacchi(5): fibonacchi(4) +fibonacchi(3)
Итого получается, что дублируются рекурсии fibonacci(4). Что-то не так в этой логике.
Как идет логика процесса?

 

gerzzog

Новичок
Пользователь
Дек 24, 2021
12
0
1
нашел ответ на свой вопрос. Вот картинка, наглядно иллюстрирующая, что код разворачивается до fibonacci(1) и fibonacci(0)


59Rpw.png
 

Форум IT Специалистов