XDOJ函数与递归

XDOJ函数与递归,第1张

XDOJ函数与递归

时间限制    
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    
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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5658493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存