递归斐波那契数列js前n项
时间: 2023-11-18 16:01:26 浏览: 29
以下是递归实现斐波那契数列前n项的JavaScript代码:
```javascript
function fibonacci(n) {
if (n <= 0) {
return [];
} else if (n === 1) {
return [0];
} else if (n === 2) {
return [0, 1];
} else {
var fib = fibonacci(n - 1);
fib.push(fib[fib.length - 1] + fib[fib.length - 2]);
return fib;
}
}
// 输出前10项斐波那契数列
console.log(fibonacci(10)); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
```
以上代码中,`fibonacci`函数接受一个参数`n`,表示要输出前`n`项斐波那契数列。如果`n`小于等于0,则返回一个空数组`[]`;如果`n`等于1,则返回`[0]`;如果`n`等于2,则返回`[0, 1]`;否则,调用`fibonacci(n - 1)`递归计算前`n-1`项斐波那契数列,并将其结果存入变量`fib`中。然后,将`fib[fib.length - 1] + fib[fib.length - 2]`作为新的斐波那契数列的最后一项,将其添加到`fib`数组中,并返回`fib`数组作为结果。最后,调用`console.log(fibonacci(10))`输出前10项斐波那契数列。
相关问题
js使用递归获取斐波那契数列的第n个值
好的,下面是使用递归获取斐波那契数列的第n个值的JavaScript代码:
```javascript
function fibonacci(n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
// 示例:
console.log(fibonacci(6)); // 输出 8
```
在这个代码中,我们定义了一个名为`fibonacci`的函数,它接受一个参数`n`,表示要获取的斐波那契数列的第n个值。如果`n`小于等于1,则直接返回`n`;否则,递归调用`fibonacci(n - 1)`和`fibonacci(n - 2)`,将它们的返回值相加并返回。
例如,如果我们要获取斐波那契数列的第6个值,那么调用`fibonacci(6)`时,它会先递归调用`fibonacci(5)`和`fibonacci(4)`,然后将它们的返回值相加并返回。这样,就可以得到斐波那契数列的第6个值8。
求斐波那契数列前10项js
可以使用递归或循环来实现斐波那契数列,下面是两种实现方式:
1. 递归实现:
```javascript
function fibonacci(n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
for (let i = 0; i < 10; i++) {
console.log(fibonacci(i));
}
```
2. 循环实现:
```javascript
function fibonacci(n) {
let a = 0;
let b = 1;
for (let i = 0; i < n; i++) {
const temp = a + b;
a = b;
b = temp;
}
return a;
}
for (let i = 0; i < 10; i++) {
console.log(fibonacci(i));
}
```
以上两种实现方式都可得到斐波那契数列的前10项。