有一分数序列: 2/3 3/5 5/7,8/9 13/11 21/13 求出这个数列的前n项之和。
提示: 变量类型建议使用float
分母是2i+1
分子的规律是:第n项的分子= 第n-1项的分子+第n-2项的分子
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i, n;
int fz1 = 2, fm1 = 3;
int fz2 = 3, fm2 = 5;
float s = 0;
cout << "请输入n:";
cin >> n;
if (n == 1)
{
s = 1.0 * fz1 / fm1;
//cout << fz1 << "/" << fm1;
}
else if (n == 2)
{
s = 1.0 * fz1 / fm1 + 1.0 * fz2 / fm2;
//cout << fz1 << "/" << fm1 << "+" << fz2 << "/" << fm2;
}
else
{
s = 1.0 * fz1 / fm1 + 1.0 * fz2 / fm2;
//cout << fz1 << "/" << fm1 << "+" << fz2 << "/" << fm2 ;
for (i = 3; i <= n; i++)
{
int fz = fz1 + fz2;
int fm = 2 * i + 1;
s += 1.0 * fz / fm;
//cout << "+" << fz << "/" << fm;
fz1 = fz2;
fz2 = fz;
}
}
//cout << "=";
cout << fixed << setprecision(2) << s;
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!