【题目描述】
有有一个分数序列q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中q(i+1)=qi+pi,p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是21,32,53,85,138,211321,32,53,85,138,2113。求这个分数序列的前n项之和。21,32
【输入】
输入有一行,包含一个正整数n(n ≤ 30)。
【输出】
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
【输入样例】
2
【输出样例】
3.5000
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n;
double a=1,b=1,c,sum=0;
int i;
cin>>n;//前n项
for(i=1; i<=n; i++)
{
c=a+b;
a=b;
b=c;//数列规律
sum+=1.0*b/a;//求和
}
printf("%.4lf\n",sum);
return 0;
}
信息学奥赛一本通T1078:for语句 求分数序列和 归属于 for语句,更多同类题解源程序见:for语句 和 求分数序列和
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!