信息学奥赛一本通1167:再求f(x,n)
【题目描述】
已知
用递归函数求解。
【输入】
第一数是x的值,第二个数是n的值。
【输出】
函数值。
【输入样例】
1 2
【输出样例】
0.40
【来源】
No
思路:
分行看式子,第一行为x,第二行为n+/…;
再看特殊情况,当n=1时,可以发现,f(x,n)=1+x;
再找到从第二行起的规律
发现f(x,n)=n+f(x,n-1);
于是可用递归
f函数代码如下:
double f(x,n)
{
if (n==1)return 1+x;
return n+x/f(x,n-1);
}
但是写完函数后,要将函数返回值做一个总体的处理(我们是从第二行开始找的规律),所以输出的结果应该为x/f(x,n)