题目: Pow(x, n)
来自智得网
分析
递归法
Pow(x, n) 可以分为如下几种情况考虑:
当 n 为 0 的时候, ;
当 n 为 1 的时候, ;
当 n 为大于2的偶数的时候, ;
当 n 为奇数的时候,;
当 n 小于 0 的时候,,因为-231转为正数231的时候会出现数组越界,可以用 来表示。
题解
public class Solution{
public double solute(double x,int n){
if (n == 0){
return 1;
}
if (n < 0){
return 1.0 / (pow(x,-n-1) * x);
}
if (n % 2 == 0){
return solute(x, n / 2) * solute(x, n / 2);
}
if (n % 2 == 1){
return solute(x, n / 2) * solute(x, n / 2) * x;
}
}
}