题目为 实现 pow(x, n) ,即计算 x 的 n 次幂函数。
思路一开始的代码直接用Math.Pow()返回了,后来觉得不妥,看了题解,理解了思路,减少了乘的次数
代码如下
public double MyPow(double x, int n)
{
return n>0? PowDetail(x, n):1/ PowDetail(x, n);
}
public double PowDetail(double x, int n)
{
if (n==0)
{
return 1;
}
double temp = PowDetail(x, n / 2);
return n % 2 == 0 ? temp * temp : temp * temp * x;
}