32:求分数序列和
-
总时间限制:
- 1000ms
- 65536kB
内存限制:
-
描述
-
有一个分数序列 q
1
/p
1
,q
2
/p
2
,q
3
/p
3
,q
4
/p
4
,q
5
/p
5
,…. ,其中q
i+1
= q
i
+ p
i
, p
i+1
=q
i
, p
1
= 1, q
1
= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。 - 输入有一行,包含一个正整数n(n <= 30)。
- 输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
-
2
-
3.5000
- 1685
-
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int ans[10001]; double tot=0; int main() { int n; cin>>n; double q=2; double p=1; for(int i=1;i<=n;i++) { tot=tot+(q/p); double a=q; q=a+p; p=a; } printf("%.4lf",tot); return 0; }
输入
输出
样例输入
样例输出
来源