DevC++用循环和递归算法求斐波那契额数列的前 10 项。
时间: 2024-05-14 20:16:17 浏览: 95
用循环算法求解斐波那契数列
好的,斐波那契数列是指从第三项开始,每一项都是前两项的和,即:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
首先我们来看使用循环的方法:
```c
#include <stdio.h>
int main() {
int n = 10; // 要求的斐波那契数列的项数
int a = 1, b = 1; // 前两项
int c; // 当前项
printf("%d, %d", a, b);
for (int i = 3; i <= n; i++) {
c = a + b;
printf(", %d", c);
a = b;
b = c;
}
return 0;
}
```
输出结果为:
```
1, 1, 2, 3, 5, 8, 13, 21, 34, 55
```
接下来是使用递归的方法:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n = 10; // 要求的斐波那契数列的项数
for (int i = 1; i <= n; i++) {
printf("%d, ", fibonacci(i));
}
return 0;
}
```
输出结果为:
```
1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
```
需要注意的是,使用递归的方法会比较慢,因为会重复计算一些项。如果要计算的项数很大,建议使用循环的方法。
阅读全文