pow(x,n)

来源:互联网 发布:足球 数据 编辑:程序博客网 时间:2024/06/18 14:09


快速幂算法

注意要处理 INT_MIN的情况


class Solution {public:    double myPow(double x, int n) {        if(n<0)        {            if(n==INT_MIN)              return 1.0/ ( myPow(x,INT_MAX)*x);  //be carefully... INT_MIN=-INT_MAX-1;            else              return 1.0/ myPow(x,-n);        }        if(n==0)            return 1.0;        double ans=1.0;        for(;n;x*=x,n>>=1)        {            if(n&1)               ans*=x;        }        return ans;    }};



0 0
原创粉丝点击