时间限制: 1000 ms 内存限制: 65536 KB
提交数: 6842 通过数: 4770
【题目描述】
有一个分数序列q1p1,q2p2,q3p3,q4p4,q5p5,…,其中qi+1=qi+pipi+1=qi,p1=1,q1=2。
比如这个序列前6项分别是21,32,53,85,138,2113。
求这个分数序列的前n项之和。
【输入】
输入有一行,包含一个正整数n(n ≤ 30)。
【输出】
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
【输入样例】
2
【输出样例】
3.5000
【来源】
NO
代码
#include <stdio.h>
int main ()
{
int n,p,q,i;
p=1;q=2;
double sum=0.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0*q/p;
int tmp=q;
q=q+p;
p=tmp;
}
printf("%.4lf",sum);
return 0;
}