美文网首页
求出n个斐波那契数列组成的数组

求出n个斐波那契数列组成的数组

作者: it之承影含光 | 来源:发表于2017-10-11 16:56 被阅读31次

    斐波那契数列

    在数学上,以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

    即:第三项为前两项相加之和,数列为:[1, 1, 2, 3, 5, 8, 13, 21, 34 …]

    代码实现
    function getNthFibonacci(count) {  
        var count = count * 1, //如果为其他类型,则转int型  
            tailFactorial = function(count, curr = 1, next = 1) { //ES6函数参数默认值  
                if (count == 0) {  
                    return curr;  
                } else {  
                    return tailFactorial(count - 1, next, curr + next); //尾递归采用函数,可有效解决栈溢出问题  
                }  
            };  
        return tailFactorial(count); //直接传count参数  
    } ;
    //求出前100个数字
    Array(100).fill(1).map((v,i)=>getNthFibonacci(i))
    

    相关文章

      网友评论

          本文标题:求出n个斐波那契数列组成的数组

          本文链接:https://www.haomeiwen.com/subject/lepwyxtx.html