LeetCode---Pow(x, n)

题目大意:给出一个浮点数x和一个整数n,求出x^n.

算法思想:

1.如果n<0 则求1.0/x^n

2.分治法: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/power(x,-n); 
        return power(x,n);
    }
private:
    double power(double x,int n){
        if(n==0) return 1;
        double tmp=power(x,n/2);
        if(n%2==0) return tmp*tmp;
        return tmp*tmp*x;
    } 
};



版权声明:本文为wzg272365960原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。