斐波那契数列递归的实现
斐波那契数列递归的实现
什么是斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波那契数列都有直接的应用。
摘取自百度百科。
递归表达式
F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*).
C语言实现Fib(n)
点击查看代码
#include <stdio.h>
int main()
{
int i = 1,n,f1 = 1,f2 = 1,nth;
printf("输入数字n,输出前n项斐波那契数列:");
scanf("%d",&n);
while(i<=n)
{
printf("%d ",f1);
nth = f1 + f2;
f1 = f2;
f2 = nth;
i++;
}
return 0;
}
我的计算机能在一分钟内算出Fib(10),Fib(100),Fib(1000),Fib(10000),但是会发生数据溢出。