【题目链接】
ybt 1167:再求f(x,n)
【题目考点】
1. 函数
2. 递归
【题解代码】
解法1:n==0时为递归出口
#include <bits/stdc++.h>
using namespace std;
double solve(double n, double x)
{
if(n == 0)
return x;
else
return x / (n + solve(n-1, x));
}
int main()
{
double x, n;
cin >> x >> n;
cout << fixed << setprecision(2) << solve(n, x);
return 0;
}
解法2:n==1时为递归出口
#include <bits/stdc++.h>
using namespace std;
double solve(double n, double x)
{
if(n == 1)
return x / (1 + x);
else
return x / (n + solve(n-1, x));
}
int main()
{
double x, n;
cin >> x >> n;
cout << fixed << setprecision(2) << solve(n, x);
return 0;
}