求出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))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容