写一个递归斐波那契数列
时间: 2023-10-19 21:10:04 浏览: 44
好的,这是一个常见的面试题。以下是使用递归实现斐波那契数列的代码:
```
int fibonacci(int n){
if(n <= 1)
return n;
return fibonacci(n-1) + fibonacci(n-2);
}
```
在这个递归函数中,我们首先判断输入的参数是否小于等于1,如果是,则直接返回该值;否则,我们将递归调用函数自身来计算前两个斐波那契数的和(因为斐波那契数列的定义是每个数都是前两个数的和)。这个递归会一直循环下去,直到求出所需的斐波那契数。
相关问题
c语言递归写一个斐波那契数列
当然可以!以下是用C语言递归方式实现斐波那契数列的代码:
```c
#include<stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n;
printf("请输入斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前 %d 项为:\n", n);
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
这段代码中,`fibonacci` 函数使用递归的方式计算斐波那契数列的第 `n` 项。当 `n` 小于等于1时,直接返回 `n`。当 `n` 大于1时,递归调用 `fibonacci` 函数计算第 `n-1` 项和第 `n-2` 项的和作为结果返回。
在 `main` 函数中,我们首先获取用户输入的项数,然后使用循环调用 `fibonacci` 函数并打印出斐波那契数列的前 `n` 项。
希望对你有帮助!如果还有其他问题,请随时提问。
写一个C语言递归计算斐波那契数列
好的,我可以回答这个问题。以下是一个C语言递归计算斐波那契数列的示例代码:
```
#include <stdio.h>
int fibonacci(int n) {
if (n == ) {
return ;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n = 10;
printf("斐波那契数列的前%d项为:\n", n);
for (int i = ; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return ;
}
```
这个程序可以计算斐波那契数列的前n项,并将它们输出到屏幕上。