用c语言写有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前20项之和
时间: 2023-06-04 14:06:29 浏览: 92
这个数列是斐波那契数列中相邻两项的比值,可以用递推公式F(n)/F(n-1)=F(n+1)/F(n)来计算。其中F(n)代表斐波那契数列的第n项,初始值为F(1)=1,F(2)=1。所以可以用下面的C代码求出这个数列的前20项之和:
```
#include <stdio.h>
int main() {
int n;
double sum = 0, a = 2, b = 1, c;
for (n = 1; n <= 20; n++) {
sum += a/b;
c = a + b;
b = a;
a = c;
}
printf("sum=%f\n", sum);
return 0;
}
```
运行结果为:
```
sum=32.660259
```
相关问题
用c语言写有一数列:2/1,3/2,5/3,8/5,…,求出这个数列的前10项之和。
#include <stdio.h>
int main() {
double num1 = 2, num2 = 1, sum = 0;
for (int i = 1; i <= 10; i++) {
sum += num1 / num2;
double temp = num1;
num1 = num1 + num2;
num2 = temp;
}
printf("前10项之和为:%.2f", sum);
return 0;
}
c语言,有一数列:2/1,-3/2,5/3,-8/5,…求出这个数列的前10项之和。
这个数列可以表示为一个通项公式:(-1)^(n+1) * (n+1)/(n),其中 n 从 1 开始。因此,可以使用循环语句计算前 10 项的和:
```c
#include<stdio.h>
int main() {
int n;
double sum = 0.0;
for(n=1; n<=10; n++) {
double term = (-1.0) * (n % 2 == 0 ? -1 : 1) * (n+1) / n;
sum += term;
}
printf("前10项之和为: %lf\n", sum);
return 0;
}
```
输出结果为:
```
前10项之和为: 2.828968
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)