fibnacci数列递归实现
fibnacci数列递归实现
1.什么是斐波那契(fibnacci)数列?
斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
这个数列从第3项开始,每一项都等于前两项之和。
2.递归表达式
F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)
3.C语言代码实现Fib(n):
include <stdio.h>
long Fib(int i);
int main(void)
{
long int n,i,x;
printf("Input n:");
scanf("%d",&n);
x = Fib(n);
printf("Fib(%d) = %d\n",n,x);
return 0;
}
long Fib(int i)
{
if (i == 1) return 1;
else if (i == 2) return 1;
else return (Fib(i-1)+Fib(i-2));
}
但计算机无法快速算出Fib(100)、Fib(1000)、等的结果。