/*
题目描述
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
(提示:当N较大时,分子和分母的值将会超出int的数据范围(-2^31~2^31-1),因此该变量的数据类型应为double(1.7E-308~1.7E+308).
输入
输入在一行中给出一个正整数N(<=1000)。
输出
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
*/
#include <stdio.h>
#include <math.h>
int main()
{
int a;
scanf("%d", &a);
double n1 = 2.0, n2 = 1.0, s = 0.0, x;
int k = 1;
for (k = 1; k <= a; k++)
{
s = s + n1 / n2;
x = n2;
n2 = n1;
n1 = n1 + x;
}
printf("%.2f", s);
return 0;
}