c++求2/1,3/2,5/3,8/5,13/8...这个数列的前20项之和。
时间: 2023-12-13 15:23:10 浏览: 54
这是一个斐波那契数列的变形,可以使用循环来计算前20项的和。以下是使用C++语言的代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int num1 = 2, num2 = 1; // 初始化前两项
double sum = 0; // 初始化和
for (int i = 1; i <= 20; i++)
{
sum += static_cast<double>(num1) / num2; // 将num1转换为double类型,避免整数除法
int temp = num1;
num1 += num2;
num2 = temp;
}
cout << "前20项之和为:" << sum << endl;
return 0;
}
```
输出结果为:
```
前20项之和为:32.6603
```
注意,由于使用了double类型,输出结果可能存在精度误差。
相关问题
使用c++求2/1,3/2,5/3,8/5,13/8,21/13...这个数列的前20项之和。
这个数列可以看成是斐波那契数列的有理数版本,可以使用循环来计算前20项之和。以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n = 20;
int a = 2, b = 1, c;
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += (double)a / b;
c = a + b;
b = a;
a = c;
}
cout << "前" << n << "项之和为:" << sum << endl;
return 0;
}
```
输出结果为:
```
前20项之和为:32.6603
```
c++求2/3、4/5、6/9等数列前n项和
A:数列前n项和的公式为:
S_n = a_1 + a_2 + a_3 + ... + a_n
其中,a_i为数列中第i项的值。
对于这个数列,可以发现,它是由一系列分数相加得到的,因此可以先将相邻分数化为通分后再相加,得到:
2/3 + 4/5 + 6/9 = 30/45 + 36/45 + 30/45 = 96/45
因此,数列前n项和的公式为:
S_n = (2n + 4n + 6n + ... + 2n(n-1)) / (3*5*(n-1))
化简得:
S_n = n(n+1)/15
注:此处的“n”为数列中分母为“3n”的分数的序号,如n=1时,对应的分数为2/3;n=2时,对应的分数为4/5,以此类推。
阅读全文