js实现 斐波那契数列
时间: 2023-12-04 21:39:37 浏览: 94
以下是使用JavaScript实现斐波那契数列的两种方法:
1.使用递归实现斐波那契数列
```javascript
function fibonacci(n) {
if (n <= 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 测试
console.log(fibonacci(10)); // 输出55
```
2.使用循环实现斐波那契数列
```javascript
function fibonacci(n) {
if (n <= 2) {
return 1;
}
let prev1 = 1;
let prev2 = 1;
for (let i = 3; i <= n; i++) {
const cur = prev1 + prev2;
prev1 = prev2;
prev2 = cur;
}
return prev2;
}
// 测试
console.log(fibonacci(10)); // 输出55
```
相关问题
用 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 值可能会导致性能问题。
js实现斐波那契数列
可以使用递归或循环的方式来实现斐波那契数列。以下是使用循环的方式实现斐波那契数列的代码示例:
```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)。
希望可以帮助到你!如果有任何疑问,请随时提问。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)