斐波那契数列
2021-05-17 本文已影响0人
my木子
斐波那契数列:1 1 2 3 5 8 13...这样一个数列就是斐波那契数列
- 查找指定位数上斐波那契数列中的值
// 1. 递归
function fibonacci(n) {
if (n - 2 >= 0) {
return fibonacci(n - 2) + fibonacci(n - 1);
} else {
return 1;
}
}
console.log(fibonacci(5));
// 2.
function fibonacci(n) {
if (n <= 1) return 1;
let arr = [1, 1]; // 默认前两项值
let i = n - 1; // 除前两位还要创建的值
while (i > 0) {
let len = arr.length;
let a = arr[len - 1];
let b = arr[len - 2];
arr.push(a + b); // 最后两项值相加
i--;
};
return arr[n];
};
console.log(fibonacci(5));
// 3.
function fibonacci(count) {
function fun(count, curr = 1, next = 1) {
// console.log(count, curr, next);
if (count === 0) {
return curr;
} else {
return fun(count - 1, next, curr + next);
};
};
return fun(count);
};
console.log(fibonacci(5));