fibnacci数列递归实现

1.什么是fibnacci数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……不难发现,前两项的值各为1,从第三项起,每一项都是前两项的和。

2.fibnacci数列的递归表达式

F(0)=0(n=0);
F(1)=1(n=1);
F(n)=F(n-1)+F(n-2)(n>=2)n ∈ N*。

3.用C语言递归实现Fib(n)

#include <stdio.h>
long Fib(int n)
{
    long F;
    if (n==0) F = 0;
    else if (n==1) F = 1;
    else F = Fib(n-1) + Fib(n-2);
    return F;
}
int main()
{
    int n;
    printf("please enter a number:");
    scanf("%d",&n);
    printf("The Fibnacci Number is:%ld\n",Fib(n));
    return 0;
}


fib(100),fib(1000),fib(10000)计算不出来

4.用GDB查看递归的堆栈情况

posted @ 2023-11-05 12:18  苦瓜。20231323  阅读(29)  评论(0编辑  收藏  举报