我对编程还不太熟悉,正试图想出一种递归计算x^n的方法(理解数学背后的解释以及递归计算x^n之间的区别):
double power(double x, int n)
{
if (n == 0)
return 1.0;
return x * power(x, n - 1)
}
最佳答案
x-n在数学上等于1/xn,因此您可以采用经典的xn递归计算来处理它:
double power (double x, int n) {
if (n < 0) {
return 1.0 / power(x, -1 * n);
}
if (n == 0) {
return 1.0;
}
return x * power (x, n - 1);
}
关于algorithm - 递归计算x ^ -n,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32723640/