斐波那契数列

来源:互联网 发布:网络直播招聘骗局 编辑:程序博客网 时间:2024/06/05 07:32
    斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。计算 斐波那契数列一般用递归算法,如下:
int FibonacciCalc(int n){if (n <= 1)return n;return FibonacciCalc(n-1)+FibonacciCalc(n-2);}int Fibonacci(){int n;scanf("%d", &n);printf("%d\n", FibonacciCalc(n));return 0;}

用于计算小于40以下的数据时还可以,当n比较大时函数调用次数以及耗时都非常大,可考虑用数组记下已经计算出的结果,

long long g_fib[100] = {0};long long fib(int n){    if(n<=1)           return n;    if(g_fib[n] != 0)        return g_fib[n];    return g_fib[n] = fib(n-1)+fib(n-2);}

下面为本机测试的结果:


0 0
原创粉丝点击