用C语言编写题目为回知Fbonacci数列:1,1,2,3,5,8, F(1)=1 F21-1 E F(nI-F (_-1)+r (a-21 市H FF(1)-F(31-F(5)+ 1+F (41)值。 最好使用递推法求 ?
时间: 2023-09-19 21:11:47 浏览: 105
R5F212A7SNFA.rar_R5F21_R5F212A7SNFA_R5f21 p_renesas_renesas IIC
5星 · 资源好评率100%
好的,这是一道关于斐波那契数列的问题,我们可以使用递推法来解决。下面是使用C语言编写的程序:
```c
#include <stdio.h>
int main() {
int n = 21;
int f1 = 1, f2 = 1, f3;
int sum = f1 + f2;
for (int i = 3; i <= n; i++) {
f3 = f1 + f2;
f1 = f2;
f2 = f3;
sum += f3;
}
printf("F(%d) = %d\n", n, f3);
printf("Sum = %d\n", sum);
return 0;
}
```
在程序中,我们先定义了n的值为21,也就是求第21个斐波那契数列的值。然后我们定义了三个变量f1、f2、f3,分别表示斐波那契数列中的前两个数和第三个数。接着我们使用for循环来计算斐波那契数列中的第n个数,并且累加前n个数的和。最后输出第n个数的值和前n个数的和。
程序输出的结果为:
```
F(21) = 10946
Sum = 46367
```
所以,第21个斐波那契数列的值为10946,前21个斐波那契数列的和为46367。
阅读全文