用c++写 有一分数序列: 2/3,3/5,5/7,8/9,13/11,21/13,...,求出这个数列的前n项之和。 提示: 变量类型建议使用float 输入 只有一组数据,从键盘输入待求的前n项(n<=50)。 输出 在一行上输出前n项之和,结果保留2位小数。
时间: 2024-06-14 08:03:32 浏览: 78
以下是用C++写的代码,可以求出给定分数序列的前n项之和:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
float sum = 0, a = 2, b = 3, c;
for (int i = 1; i <= n; i++) {
c = a / b;
sum += c;
float t = a; a = b;
b = b + t;
}
printf("%.2f", sum);
return 0;
}
```
相关问题
用c++编写 循环求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,前n项之和
好的,我可以帮你写一个用 C++ 编写的程序来解决这个问题。以下是程序的代码:
```c++
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
double a = 2, b = 1, sum = 0;
for (int i = 1; i <= n; i++) {
sum += a / b;
double temp = b;
b = a;
a = a + temp;
}
cout << sum << endl;
return 0;
}
```
在这个程序中,我们首先输入一个整数 n,表示我们要求前 n 项的和。然后我们使用两个 double 类型的变量 a 和 b 来存储分数序列中的分子和分母。我们初始化 a = 2,b = 1,表示序列的第一项为 2/1。我们还用一个 double 类型的变量 sum 来存储前 n 项的和,初始化为 0。
然后我们使用一个 for 循环来求分数序列的前 n 项之和。在每一次循环中,我们将 a/b 加入到 sum 中,然后更新 a 和 b 的值,使它们分别为原来的 b 和 a+b。这是因为分数序列的下一项是前两项之和的分数形式,即 a/b + (a+b)/a = (2a+b)/b。
最后,我们输出 sum 的值即可。注意,输出时要加上 endl,以换行。
希望这个程序能够帮到你!
c++ 有一个分数序列:2/1,3/2,5/3,8/5,13/8, …编程求此序列的前 20 项之和。
要计算分数序列2/1,3/2,5/3,8/5,13/8, …的前20项之和,我们可以使用循环和变量来逐步计算每一项的分子和分母,并累加每一项的值。以下是一个C++程序示例:
```cpp
#include <iostream>
int main() {
int n = 20; // 前20项
double sum = 0.0;
double numerator = 2.0; // 分子
double denominator = 1.0; // 分母
for (int i = 0; i < n; ++i) {
sum += numerator / denominator;
// 计算下一项的分子和分母
double temp = numerator + denominator;
denominator = numerator;
numerator = temp;
}
std::cout << "前20项之和为: " << sum << std::endl;
return 0;
}
```
这个程序首先初始化前两项的分子和分母,然后通过循环计算每一项的值并累加到总和中。最后输出前20项的和。
阅读全文