【题目描述】有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,...,其中q(i+1)=qi+pi, p(i+1)=qi,p1=1,q1=2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。 【输入】输入有一行,包含一个正整数n(n≤30)。 【输出】输出有一行,包含一个浮点数,表示分数序列前nn项的和,精确到小数点后44位。 【输入样例】2 【输出样例】3.5000 |
教学备忘录:编辑 |
#include<iostream> #include<cstdio> #include<math.h> using namespace std; int main() { float a[101],b=0; int i,p=1,k,q=2,n=0; cin>>k; for(i=1;i<=k;i++){ a[i]=float(q)/float(p); n=q; q=p+q; p=n; b=b+a[i]; } printf("%.4f",b); return 0; } |