JS实现斐波那契列数的三种方法
Posted 头大的冯冯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS实现斐波那契列数的三种方法相关的知识,希望对你有一定的参考价值。
大家是怎么实现斐波那契列数的?
1,1,2,3,5,8...f(n)=f(n-1) + f(n-2)
方法一:
function f(n){ if(n == 1 || n == 0){ return 1; } return f(n-1) + f(n-2); } index.html
再给两种解法,对比一下
方法二:
function f(n) { var arr = []; var value = null; function _f(n) { if (n == 1 || n == 0) { return 1; } if (arr[n]) return arr[n]; value = _f(n - 1) + _f(n - 2); arr[n] = value; return value; } return _f(n); }
还有一种更简单的用的是数组存储
方法三:
function fn(n) { var dp = new Array(n + 1); dp[0] = dp[1] = 1; for (let i = 2, length = dp.length; i < length; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }
链接:https://www.php.cn/js-tutorial-450811.html
以上是关于JS实现斐波那契列数的三种方法的主要内容,如果未能解决你的问题,请参考以下文章
一列数的规则如下: 112358132134...... 求第30位数是多少, 用递归算法实现。//斐波那契数列