Java LeetCode 50. Pow(x、n)

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;
        }
        
    }
}

おすすめ

転載: blog.csdn.net/sakura_wmh/article/details/110728826