【题目描述】
有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,....,其中qi+1=qi+pi, pi+1=qi,p1=1,q1=2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。求这个分数序列的前n项之和。
【输入】
输入有一行,包含一个正整数n(n≤30)。
【输出】
输出有一行,包含一个浮点数,表示分数序列前nn项的和,精确到小数点后
4位。
【输入样例】
2
【输出样例】
3.5000
#include<stdio.h> int main() { int n; scanf("%d", &n); int dp[100]; dp[1] = 1; dp[2] = 2; int i; for (i = 3; i <= n + 1; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } double num = 0; for (i = 2; i <= n + 1; i++) { num += dp[i]*1.0000 / dp[i - 1]; } printf("%.4f", num); return 0; }
06-10
06-10
02-23
1037
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-27
2537
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)