C语言斐波那契数列求第20项
时间: 2024-12-17 12:38:55 浏览: 2
用数组求出Fibonacci数列前项之和-C语言数组
在C语言中,斐波那契数列是一个经典的递归或动态规划问题,其特点是每一项都是前两项之和。求第20项可以使用循环避免重复计算,因为递归对于大的数值会非常慢。下面是一个简单的C程序示例:
```c
#include <stdio.h>
// 动态规划函数,用于计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 0) {
printf("输入错误,斐波那契数列从第1项开始计数。\n");
return -1;
} else if (n == 1 || n == 2) {
return n - 1; // 第1和第2项就是1
} else {
int fib_n_1 = 1, fib_n_2 = 1, fib_n = 0;
for (int i = 3; i <= n; ++i) {
fib_n = fib_n_1 + fib_n_2;
fib_n_1 = fib_n_2;
fib_n_2 = fib_n;
}
return fib_n;
}
}
int main() {
int term = 20;
int result = fibonacci(term);
if (result != -1) {
printf("斐波那契数列的第%d项是 %d.\n", term, result);
}
return 0;
}
```
运行这个程序,它将输出斐波那契数列的第20项。
阅读全文