Pers.narod.ru. Алгоритмы. Рекурсивная функция для вычисления чисел Фибоначчи |
Поскольку последовательность чисел Фибоначчи задаётся рекуррентной формулой:
F0=0, F1=1, Fn=Fn-1+Fn-2, n≥2
её часто используют как пример рекурсии. На мой взгляд, числа Фибоначчи, как и факториал - примеры для рекурсии неудачные, но что сложилось, то сложилось :)
/* Написать рекурсивную функцию для вычисления элемента ряда Фибоначчи с номером n. Соотношение ряда Фибоначчи задаётся формулой f(n)=f(n-1)+f(n-2), n=0,1,..., f(0)=0, f(1)=1 */ #include <iostream.h> #include <stdio.h> #include <stdlib.h> long int fibo (int n) { if (n==0) return 0; else if (n==1) return 1; else return (fibo(n-1)+fibo(n-2)); } void main () { int n; cout << "Введите число N "; cin >> n; if (n<0) { cout << "Число должно быть не меньше 0!"; getchar(); exit (1); } long int f; f = fibo (n); cout << "Число Фибоначчи с номером " << n << " = " << f; getchar(); }
гостевая; E-mail |