如何用c语言计算斐波那契数列
时间: 2024-12-08 10:22:36 浏览: 13
在C语言中计算斐波那契数列有多种方法,这里提供两种常见的方式来实现:
1. **递归**:
递归是最直观的理解方法,但不适合大型n值,因为存在大量重复计算。下面是一个简单的递归函数示例:
```c
#include <stdio.h>
long fib(int n) {
if (n <= 1) {
return n;
}
else {
return fib(n - 1) + fib(n - 2);
}
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Fibonacci number at position %d is: %ld\n", n, fib(n));
return 0;
}
```
2. **循环(迭代)**:
这种方法更高效,因为它避免了重复计算,适用于较大的n值:
```c
#include <stdio.h>
long fib(int n) {
long fib_num[2] = {0, 1};
if (n <= 1) return fib_num[n];
for (int i = 2; i <= n; ++i) {
fib_num[i] = fib_num[i - 1] + fib_num[i - 2];
}
return fib_num[n];
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
printf("Fibonacci number at position %d is: %ld\n", n, fib(n));
return 0;
}
```
在这两个例子中,当n值很大时,使用循环版本更为合适。
阅读全文