用 JavaScript 实现一个 fibonacci 函数,满足:
- 输入 n(从0开始计数)
- 输出第 n 个斐波那契数(斐波那契数列从 1 开始:1,1,2,3,5,8,13,21…)
示例:
- fibonacci(0) => 1
- fibonacci(4) => 5
方法一:
function fibonacci(n) {if (n === 0 || n === 1) return 1;let a = 1, b = 1;for (let i = 2; i <= n; i++) {let temp = a + b;a = b;b = temp;}return b;
}// 测试
console.log(fibonacci(0)); // 1
console.log(fibonacci(4)); // 5
console.log(fibonacci(7)); // 21
方法二:
function fibonacci(count) {function fn(count, curr = 1, next = 1) {if (count === 0) {return curr;} else {return fn(count - 1, next, curr + next);}}return fn(count);
}// 测试
console.log(fibonacci(0)); // 1
console.log(fibonacci(4)); // 5
console.log(fibonacci(7)); // 21
方法三:
function fibonacci(n) {if (n <= 1) return 1;let arr = [1, 1]; // 初始化数组,前两个斐波那契数是1和1let i = n - 1; // 需要补充的次数while (i > 0) {let a = arr[arr.length - 2];let b = arr[arr.length - 1];arr.push(a + b);i--;}return arr[arr.length - 1];
}// 测试
console.log(fibonacci(0)); // 1
console.log(fibonacci(4)); // 5
console.log(fibonacci(7)); // 21