pow(x、n)を実現します。つまり、xのn乗関数を計算します。
例1:
入力:2.00000、10
出力:1024.00000
例2:
入力:2.10000、3
出力:9.26100
例3:
入力:2.00000、-2
出力:0.25000
説明:2-2 = 1/22 = 1/4 = 0.25
手動で捕虜を実装し、分割統治アルゴリズムを使用する
class Solution {
public double myPow(double x, int n) {
if(n==0){
return 1;
}
if(n>0){
return pow(x,n);
}else{
return 1/pow(x,-n);
}
}
public double pow(double x,int n){
if(n==0){
return 1;
}
if(n==1){
return x;
}
double ss = pow(x,n/2);
if(n%2==0){
return ss*ss;
}
else{
return ss*ss*x;
}
}
}