斐波那契求第n项

Posted anxiaoyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契求第n项相关的知识,希望对你有一定的参考价值。

摘自  https://blog.csdn.net/lpjishu/article/details/51323116

斐波那契求第n项是常见的算法题

方法1  递归法

技术分享图片

 

    //斐波那契 0,1,1,2,3,5  求n
    //调用过程像一个二叉树
    //f8 会调 f7,f6  f7会调用 f6,f5。 这样f6就重复了
    //45之后就很慢了
    function getN(n){
        if(n <= 0){
            return 0;
        }
        if(n === 1){
            return 1;
        }
        return getN(n - 1) + getN(n - 2);
    }
    console.log(getN(47));

 

 方法2 循环

    //循环 秒出
    function getN(n){
        if(n <= 0){
            return 0;
        }
        if(n === 1){
            return 1;
        }
        var prev = 0;
        var next = 1;
        var num = 0;
        for (var i = 2; i <= n; i++) {
            num = next + prev
            prev = next
            next = num
        }
        return num;
    }
    console.log(getN(10000));

 

以上是关于斐波那契求第n项的主要内容,如果未能解决你的问题,请参考以下文章

java 写斐波那契 求第n个和

斐波那契数列求和公式

非递归和递归分别实现求第n个斐波那契数。

JavaScript求斐波那契数列的和

模板矩阵快速幂求第n项斐波那契

用递归法计算斐波那契数列的第n项