使用c++求2/1,3/2,5/3,8/5,13/8,21/13...这个数列的前20项之和。
时间: 2023-10-30 12:06:14 浏览: 68
这个数列可以看成是斐波那契数列的有理数版本,可以使用循环来计算前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/1 3/2 5/3 8/5 13/8 21/13...前n项和
以下是使用C++编写的函数,可以求出斐波那契数列前n项的和:
```c++
#include <iostream>
using namespace std;
double fibonacciSum(int n) {
double sum = 0;
double a = 2, b = 1, c;
sum += a / b;
for (int i = 1; i < n; i++) {
c = a + b;
sum += c / a;
b = a;
a = c;
}
return sum;
}
int main() {
int n;
cout << "请输入斐波那契数列的项数n: ";
cin >> n;
cout << "前" << n << "项斐波那契数列的和为: " << fibonacciSum(n) << endl;
return 0;
}
```
该函数运行时需要输入斐波那契数列的项数n,程序会返回前n项斐波那契数列的和。
使用c++有一分数序列2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
这个数列可以看出是斐波那契数列的每一项分子和分母对应的值,可以按照斐波那契数列的递推公式来计算:
```
f[0] = 1, f[1] = 1;
for (int i = 2; i <= 20; i++) {
f[i] = f[i-1] + f[i-2];
}
```
计算出斐波那契数列的前20项之后,就可以计算出这个数列的前20项,然后将它们相加即可:
```c++
double sum = 0.0;
for (int i = 0; i < 20; i++) {
sum += (double)f[i+1] / f[i];
}
cout << sum << endl;
```
注意要将分子和分母都转换为浮点数类型再相除,否则会得到一个整数结果。
阅读全文