时间限制
1S
内存限制
1000Kb
问题描述
有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,......An/Bn
A1=2,A2=3,An=An-1+An-2;
B1=1,B2=2,Bn=Bn-1+Bn-2。
求出这个数列的前n(2<=n<=30)项之和。
输入说明
一个整数n
输出说明
输出一个实数表示数列前n项之和,结果保留2位小数(四舍五入)
输入样例
2
输出样例
3.50
double f(int n) //定义函数
{
if (n==1)
{
return 2.000;
}
else if (n==2)
{
return 3.000;
}
else if (n>2)
{
return f(n-1)+f(n-2);
}
}
double g(int n) //定义函数
{
if (n==1)
{
return 1.000;
}
else if (n==2)
{
return 2.000;
}
else if (n>2)
{
return g(n-1)+g(n-2);
}
}
#include<stdio.h>
int main()
{
int n;
double sum=0.000;
scanf ("%d", &n);
for (int i=1;i<=n;i++) //对各项求和
{
sum=sum+f(i)/g(i);
}
printf ("%.2lf",sum);
return 0;
}