用递归的算法打印斐波那契数列前50项2,3,5,8,13,…,用C语言
时间: 2024-11-13 12:22:12 浏览: 21
C语言数据结构递归之斐波那契数列
5星 · 资源好评率100%
斐波那契数列是一个典型的递归问题,每个数字是前两个数字之和。下面是一个简单的C语言程序,使用递归来打印斐波那契数列的前50项:
```c
#include <stdio.h>
// 递归函数计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 1)
return n; // 基线条件,前两项直接返回数值
else
return fibonacci(n - 1) + fibonacci(n - 2); // 递归调用,计算当前项
}
int main() {
int i;
printf("Fibonacci sequence:\n");
for (i = 0; i < 50; i++) { // 打印前50项
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
这个程序会依次打印出斐波那契数列的前50项。然而需要注意的是,递归版本对于大的n值效率较低,因为存在大量的重复计算。实际应用中可能会考虑使用循环或者动态规划优化。
阅读全文