题目:斐波拉契数列
示例
// 斐波那契数列为:[1,1,2,3,5,8,13,21,…]
输入:1
输出:1
输入:4
输出:5
答案
方法一
利用递归(容易栈溢出)
function fibonacci(count) {
if (count <= 1) return 1;
return fibonacci(count - 1) + fibonacci(count - 2);
}
console.log(fibonacci(4)); // 5
console.log(fibonacci(5)); // 8
方法二
利用数组算出前 count 项斐波拉契数组,然后取出最后一项
function fibonacci(count) {
if (count <= 1) return 1;
let res = [1, 1];
for (let i = 2; i <= count; i++) {
const item = res[i - 1] + res[i - 2];
res.push(item);
}
return res[count];
}
console.log(fibonacci(4)); // 5
console.log(fibonacci(5)); // 8