c++信息奥赛一本通oj 1078:求分数序列和
有一个分数序列 q1p1,q2p2,q3p3,q4p4,q5p5,....�1�1,�2�2,�3�3,�4�4,�5�5,.... ,其中qi+1=qi+pi��+1=��+��, pi+1=qi,p1=1,q1=2��+1=��,�1=1,�1=2。比如这个序列前66项分别是21,32,53,85,138,211321,32,53,85,138,2113。时间限制: 1000 ms内存限制:
·
1078:求分数序列和
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 46387 通过数: 32324
【题目描述】
有一个分数序列 q1p1,q2p2,q3p3,q4p4,q5p5,....�1�1,�2�2,�3�3,�4�4,�5�5,.... ,其中qi+1=qi+pi��+1=��+��, pi+1=qi,p1=1,q1=2��+1=��,�1=1,�1=2。比如这个序列前66项分别是21,32,53,85,138,211321,32,53,85,138,2113。求这个分数序列的前n�项之和。
【输入】
输入有一行,包含一个正整数n(n≤30)�(�≤30)。
【输出】
输出有一行,包含一个浮点数,表示分数序列前n�项的和,精确到小数点后44位。
【输入样例】
2
【输出样例】
3.5000
#include <iostream>
#include <iomanip>
using namespace std;
double a[100],b[100];
int main(){
int n;
a[0]=1;a[1]=1;
b[1]=1;b[0]=0;
double sum=0;
cin>>n;
for(int i=2;i<=n+1;i++ ){
a[i]=a[i-1]+a[i-2];
}
for(int j=2;j<=n+1;j++ ){
b[j]=b[j-1]+b[j-2];
}
for(int k=2;k<=n+1;k++){
sum+=a[k]/b[k];
}
cout<<fixed<<setprecision(4)<<sum;
return 0;
}
更多推荐
所有评论(0)