c语言递归求斐波那契数列
时间: 2023-11-27 18:48:22 浏览: 91
以下是使用C语言递归求解斐波那契数列的代码:
```c
#include <stdio.h>
int fib(int n) {
if (n <= 1) {
return n;
}
return fib(n-1) + fib(n-2);
}
int main() {
int n;
printf("请输入要求第几个斐波那契数:");
scanf("%d", &n);
printf("第%d个斐波那契数为%d\n", n, fib(n));
return 0;
}
```
相关问题
c语言用递归求斐波那契数列防溢出
以下是使用C语言递归求斐波那契数列并防止溢出的示例代码:
```c
#include <stdio.h>
unsigned long long Fib(unsigned long long n) {
if (n <= 2) {
return 1;
} else {
return (Fib(n - 1) + Fib(n - 2));
}
}
int main() {
unsigned long long n;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%llu", &n);
printf("第 %llu 项的斐波那契数为:%llu\n", n, Fib(n));
return 0;
}
```
在上述代码中,我们使用了`unsigned long long`类型来存储斐波那契数列的项数和结果,以防止溢出。`unsigned long long`类型可以存储更大范围的非负整数。
c语言递归实现斐波那契数列代码
下面是C语言递归实现斐波那契数列的代码:
```c
#include <stdio.h>
int fun(int n) {
if(n == 1 || n == 2) {
return 1;
} else {
return fun(n-1) + fun(n-2);
}
}
int main() {
int i, n;
printf("请输入你要打印的斐波那契数列项数:\n");
scanf("%d", &n);
printf("斐波那契数列:");
for(i = 1; i <= n; i++) {
printf("%d ", fun(i));
}
return 0;
}
```
该代码通过递归的方式实现了斐波那契数列的求解,其中fun函数用于递归求解第n项斐波那契数列的值,main函数中通过循环调用fun函数来打印出前n项斐波那契数列的值。