01. Числа Фибоначчи рекурсия
21 апреля 2026 г.
Задача
Необходимо найти n-ый член последовательности , если: , , , где ,
По рекуррентной формуле происходит обращение к предыдущим членам последовательности
Начальные значения последовательности: ,
Все промежуточные значения ищутся многократно. Сложность решения
Псевдокод:
функция фибоначчи(n)
если n = 0, то
вернуть 0
eсли n = 1 или n = 2, то
вернуть 1
вернуть фибоначчи(i - 1) + фибоначчи(i - 2)
#python def fib_recursion(n): if n < 0: return -1 if n == 0: return 0 if n == 1 or n == 2: return 1 return fib_recursion(n - 1) + fib_recursion(n - 2)
//C++ //sport version int fib_recurs(int n){ if(n < 0){ return -1; } if(n == 0){ return 0; } if(n == 1 or n == 2){ return 1; } return fib_recurs(n - 1) + fib_recurs(n - 2); }
//C++ //production version template<typename ValueType> ValueType fibonacci_recursion(ValueType n){ if(n < 0){ return -1; } if(n == 0){ return 0; } if(n == 1 or n == 2){ return 1; } return fibonacci_recursion(n - 1) + fibonacci_recursion(n - 2); }