【leetcode】 pow(x,n)

問題:

Implement pow(xn).

分析

1、二分法:x^n = x^n/2 * x^n/2 ×*x^n%2。

代碼

class Solution {
public:
   double myPow(double x,int n){
       //指數爲負的情況: 倒數;
       if(n<0) return 1.0/Pow(x,-n);
       else return Pow(x,n);
   }
private:
    double Pow(double x,int n){
        if(n==0) return 1;
        double v=Pow(x,n/2);
        //x^n = x^n/2 * x^n/2 ×*x^n%2
        if(n%2==0) return v*v;
        else return v*v*x;
    }
};




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章