50. Pow(x, n) (INT; Divide-and-Conquer)

Implement pow(x, n).

思路:二分法,将每次相乘,转化成平方。

class Solution {
public:
    double myPow(double x, int n) {
        if(n==0) {
            return 1;
        }
        
        double result = myPow(x, n/2);
        result*= result;
        if(n%2==1) result = x * result;
        else if(n%2==-1) result = (1/x) * result; //negative number
        return result;
    }
};

 

posted on 2015-10-31 08:43  joannae  阅读(128)  评论(0编辑  收藏  举报

导航