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

斐波那契数列

在数学上,以递归的方法定义: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个斐波那契数列组成的数组)