您的位置:首页 > 其它

leetcode50 Pow(x, n)

2016-01-06 15:37 295 查看
Implement pow(x, n).

class Solution {
public:
double myPow(double x, int n) {
if(n<0) //对负指数的处理
{
if(n==INT_MIN) //最小负数取反还是本身,故应该提取一个再计算
return 1.0/(myPow(x,INT_MAX)*x); //对于n取值INT_MIN时,-n并不是INT_MAX
return 1.0/myPow(x,-n);
}

double ans=1;
if(n==0)
return ans;

while(n)
{
if(n&1)
ans*=x;
n>>=1;
x*=x;
}

return ans;
}
};


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: