递归斐波那契数列js前n项
时间: 2023-11-18 08:01:26 浏览: 77
以下是递归实现斐波那契数列前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。
js使用递归方法//输入斐波那契数列的项数num,求前num项的和 //示例:输入5,输出结果“斐波那契数列的前5项之和为12”
function fibonacci(num) {
if (num <= 1) {
return num;
} else {
return fibonacci(num - 1) + fibonacci(num - 2);
}
}
function fibonacciSum(num) {
let sum = 0;
for (let i = 0; i < num; i++) {
sum += fibonacci(i);
}
return sum;
}
const num = 5;
const sum = fibonacciSum(num);
console.log(`斐波那契数列的前${num}项之和为${sum}`); // 输出:斐波那契数列的前5项之和为12
阅读全文