【发布时间】:2021-01-30 11:35:47
【问题描述】:
我正在尝试在 JavaScript 中实现一个函数,该函数返回一个包含所有斐波那契数字的数组,直到某个数字 (num)。在我的研究过程中,我遇到了这个答案:Calculate Fibonacci numbers up to at least n。我用 JavaScript 和 Python 实现了他们的解决方案,但发现他们的解决方案有一个错误。问题是最后一个元素有时是错误的。这是我根据上面链接的答案中找到的解决方案编写的代码。
function findFibs(num) {
if (num < 2) {
return [1,1];
} else {
var fibs = findFibs(num - 1)
if ((fibs[fibs.length - 1]) < num ) {
fibs.push(fibs[fibs.length - 1] + fibs[fibs.length - 2])
}
return fibs;
}
}
console.log(sumFibs(20));
这段代码的预期输出是:[ 1, 1, 3, 5, 13 ] ,但实际输出是[ 1, 1, 3, 5, 13, 21 ]。我错过了什么?
【问题讨论】:
标签: javascript arrays recursion fibonacci