描述 有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。 输入 输入有一行,包含一个正整数n(n <= 30)。 输出 输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
时间: 2023-10-27 07:07:09 浏览: 94
1078求分数序列之和.cpp
可以使用循环来计算分数序列的每一项,并将它们累加起来。具体代码如下:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
double p = 1, q = 2, sum = 0;
for (int i = 1; i <= n; i++) {
sum += q / p;
double tmp = q;
q = q + p;
p = tmp;
}
cout << fixed << setprecision(4) << sum << endl;
return 0;
}
```
首先输入整数n,然后定义变量p和q分别表示分数序列中的分子和分母,sum表示分数序列的和。在循环中,每次将q除以p,并将结果加到sum中。然后将p的值赋给tmp,将q加上p的值,将tmp的值赋给p。最后输出sum的值,需要使用 `fixed` 和 `setprecision` 来保留小数点后4位。
阅读全文