【题目链接】
ybt 1166:求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 sqrt(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 sqrt(1 + x);
else
return sqrt(n + solve(n - 1, x));
}
int main()
{
double x, n;
cin >> x >> n;
cout << fixed << setprecision(2) << solve(n, x);
return 0;
}