Реализовать рекурсивную функцию вычисления н-ого числа из последовательности Фибоначчи по формуле - C (СИ)
Формулировка задачи:
Реализовать рекурсивную функцию вычисления n-ого числа из последовательности Фибоначчи по формуле: Fib(0)=1, Fib(1)=1, Fib(n)= Fib(n-1)+ Fib(n-2).....огромное спасибо заранее!!!
Решение задачи: «Реализовать рекурсивную функцию вычисления н-ого числа из последовательности Фибоначчи по формуле»
textual
Листинг программы
unsigned fibo( unsigned x ) {
return ( ( x < 3 ) ? 1 : ( fibo( x - 1 ) + fibo( x - 2 ) ) );
}
Объяснение кода листинга программы
Список элементов:
- x - переменная, значение которой вычисляется в диапазоне от 0 до 44 (включительно).
- fibo(x) - рекурсивный вызов функции для вычисления n-ого числа из последовательности Фибоначчи.
- fibo(x-1) - рекурсивный вызов функции для вычисления (n-1)-го числа из последовательности Фибоначчи.
- fibo(x-2) - рекурсивный вызов функции для вычисления (n-2)-го числа из последовательности Фибоначчи.
- 1 - базовый случай для вычисления чисел Фибоначчи (первое и второе числа последовательности равны 1). Описание действий:
- Проверка условия: если значение переменной
xменьше 3, то возвращается 1 (первое число последовательности). - Иначе выполняется рекурсивный вызов функции
fibo(x-1)иfibo(x-2), которые возвращают значения (n-1)-го и (n-2)-го чисел последовательности соответственно. - Результат вычисления рекурсивных вызовов функции возвращается в качестве результата.