js实现斐波那契数列
时间: 2023-08-14 11:12:01 浏览: 109
可以使用递归或循环的方式来实现斐波那契数列。以下是使用循环的方式实现斐波那契数列的代码示例:
```javascript
function fibonacci(n) {
if (n <= 1) {
return n;
}
let fib = [0, 1];
for (let i = 2; i <= n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib[n];
}
// 测试
console.log(fibonacci(0)); // 输出: 0
console.log(fibonacci(1)); // 输出: 1
console.log(fibonacci(6)); // 输出: 8
```
在上述代码中,我们首先判断了边界条件,即当 n 小于等于 1 时,直接返回 n。然后使用一个数组 `fib` 来保存计算出的斐波那契数列。从 `fib[2]` 开始,每个元素都等于前两个元素之和。最后返回 `fib[n]` 即可得到第 n 个斐波那契数。
注意,在计算斐波那契数列时,循环中的索引从 2 开始,而不是从 0 开始,因为我们已经初始化了斐波那契数列的前两个元素(0 和 1)。
希望可以帮助到你!如果有任何疑问,请随时提问。
相关问题
用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数。 f(1) = 1, f(2) = 1 等
可以使用递归或循环来实现斐波那契数列函数,以下是两种方式的示例代码:
使用递归:
```javascript
function fibonacci(n) {
if (n <= 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
console.log(fibonacci(7)); // 输出:13
```
使用循环:
```javascript
function fibonacci(n) {
let a = 1, b = 1;
for (let i = 3; i <= n; i++) {
let c = a + b;
a = b;
b = c;
}
return b;
}
console.log(fibonacci(7)); // 输出:13
```
以上两种方式都可以达到同样的效果,不过使用递归会比较耗费计算资源,对于较大的 n 值可能会导致性能问题。
用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数。 f(1) = 1, f(2) = 1 等 输入参考资料中“js_readline输入.js”文件
在JavaScript中,你可以使用递归或迭代的方式来实现斐波那契数列函数。这里给出一个使用迭代方法的例子,因为递归虽然简洁,但在处理大数时可能会导致性能问题。
```javascript
// 使用迭代法计算斐波那契数列
function fibonacci(n) {
if (n <= 0) {
return "输入值错误,斐波那契数列从第1项开始";
} else if (n === 1 || n === 2) {
return 1; // 斐波那契序列的前两项都是1
} else {
let fibPrev = 1;
let fibCurrent = 1;
for (let i = 3; i <= n; i++) {
const temp = fibCurrent;
fibCurrent += fibPrev;
fibPrev = temp;
}
return fibCurrent;
}
}
// 例如,获取第7个斐波那契数
const result = fibonacci(7);
console.log(result); // 输出:13
```
这个`fibonacci`函数会计算并返回第`n`个斐波那契数。你可以通过改变参数`n`来测试不同的位置。
阅读全文