fibnacci数列

1.fibnacci数列

百度百科,斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。

2.递归表达式

3.C语言实现递归

代码:

#include <stdio.h>
#include <stdlib.h>
long long Fib(int n);
int main()
{
    int n;
    long long answer;
    printf("n=");
    scanf("%d",&n);
    answer=Fib(n);
    if(answer==-1)
        printf("Input data error!");
        else
            printf("%lld\n",answer);
    return 0;
}

long long Fib(int n)
{
    long long result;
    if(n<=0)
        return -1;
    else
    {
        if(n==1||n==2)
            result=1;
        else
            result=Fib(n-1)+Fib(n-2);
        return result;
    }
}


运行结果:我计算了n=10,20,30,40,50的情况,到n=40时间都还很短,n=50时时间已经超过1分钟了,那就没必要继续测试了。

posted @ 2023-11-05 11:45  20231420  阅读(19)  评论(0编辑  收藏  举报