\
Pow(x, n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。
示例 1:
输入:x = 2.00000, n = 10 输出:1024.00000 示例 2:
输入:x = 2.10000, n = 3 输出:9.26100 示例 3:
输入:x = 2.00000, n = -2 输出:0.25000 解释:2-2 = 1/22 = 1/4 = 0.25
题解1:非递归的形式,需要将大数据分割为一半
private double myPow2(double x, int n) {
double result = 1.0;
int count = Math.abs(n);
for(int i = count;i!=0; i = i/2 ){
if(i%2 != 0){
result *=x;
}
x *=x;
}
return (n<0)?1/result:result;
}
题解2:非递归的形式,需要将大数据分割为一半
private double myPow(double x, int n) {
if(x == 0){
return 0;
}
if(n== 0){
return 1;
}
if(n == 1){
return x;
}
if(n == -1){
return 1/x;
}
double half = myPow(x,n/2);
double rem = myPow(x,n%2);
return half*half*rem;
}