使用js斐波那契数列
时间: 2023-11-20 14:41:18 浏览: 133
在JavaScript中计算斐波那契数列可以使用递归或缓存计算结果的方法。
方法1:普通递归计算
可以使用递归的方式来计算斐波那契数列。递归是一种通过调用自身来解决问题的方法。
```javascript
function fibonacci(n) {
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
console.log(fibonacci(5)); // 输出: 5
console.log(fibonacci(50)); // 输出: 12586269025
```
这种方法简单直观,但是对于较大的n值会导致性能问题。因为递归会重复计算相同的子问题,导致计算时间指数增加。
方法2:缓存计算结果
为了避免重复计算,我们可以使用一个对象来存储已经计算过的结果,下次需要时直接从缓存中取出。
```javascript
function fibonacci(n) {
if (n == 1 || n == 2) {
return 1;
}
if (!fibonacci.cache[n]) {
fibonacci.cache[n = fibonacci(n - 1) + fibonacci(n - 2);
}
return fibonacci.cache[n];
}
fibonacci.cache = {};
console.log(fibonacci(5)); // 输出: 5
console.log(fibonacci(50)); // 输出: 12586269025
console.log(fibonacci(100)); // 输出: 354224848179262000000
```
通过缓存计算结果,我们可以大大提高计算效率,避免重复计算相同的子问题。
请根据具体需求选择适合的方法来计算斐波那契数列。
阅读全文