小白龙最近学习了Fibonacci数列。它是这样定义的,F(1)=1; F(2)=1; F(n)=F(n-1)+F(n-2) (n>=3); 小白龙想改变一下,他把Fibonacci数列改为:
2/1, 3/2, 5/3.....,F(n+2)/F(n+1)这种数列,现在给你一个数字n(2<n<=50),请你求出他前n项之和。
输入格式:
输入仅一个正整数n(2<=n<=50)。
输出格式:
输出为一个实数,保留小数点后六位,表示序列 2/1, 3/2, 5/3.....,F(n+2)/F(n+1)的和。
输入样例:
在这里给出一组输入。例如:
7
结尾无空行
输出样例:
在这里给出相应的输出。例如:
11.626099
结尾无空行
#include <stdio.h>
int main()
{
double n,f1 = 1,f2 = 1,i,f3;
double sum;
scanf("%lf",&n);
for(i = 3;i <= (n+2);i++){
f3 = f1 + f2;
f1 = f2;
f2 = f3;
sum += f2/f1;
}
printf("%.6f",sum);
return 0 ;
}