1078:求分数序列和
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 33035 通过数: 22665
【题目描述】
有一个分数序列 q1p1,q2p2,q3p3,q4p4,q5p5,....q1p1,q2p2,q3p3,q4p4,q5p5,.... ,其中qi+1=qi+piqi+1=qi+pi, pi+1=qi,p1=1,q1=2pi+1=qi,p1=1,q1=2。比如这个序列前66项分别是21,32,53,85,138,211321,32,53,85,138,2113。求这个分数序列的前nn项之和。
【输入】
输入有一行,包含一个正整数n(n≤30)n(n≤30)。
【输出】
输出有一行,包含一个浮点数,表示分数序列前nn项的和,精确到小数点后44位。
【输入样例】
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;
}