有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。C++
时间: 2023-12-13 08:56:46 浏览: 65
可以使用循环来实现这个数列的求和。具体代码如下:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
double sum = 0.0;
double a = 2.0, b = 1.0, c;
cin >> n;
for (int i = 1; i <= n; i++) {
sum += a / b;
c = a + b;
b = a;
a = c;
}
cout << fixed << setprecision(2) << sum << endl;
return 0;
}
```
首先定义了一个变量 `sum` 来保存数列的和,初始值为 0。然后定义了三个变量 `a`、`b`、`c` 来分别保存数列中的分子、分母和其后一项的分子。接着通过循环计算每一项的值,将其加入到 `sum` 中。在循环中,先使用 `c` 保存下一项的分子,然后将 `a` 赋值给 `b`,将 `c` 赋值给 `a`,这样就完成了数列的递推。最后使用 `fixed` 和 `setprecision` 函数来保留两位小数输出结果。
阅读全文