题意:
求浮点型x的n次幂结果。
思路:
logN直接求,注意n可能为负数!!!当n=-2147483648的时候,千万别直接n=-n,这样的结果是多少?其他求法大同小异。
class Solution {
public:
double myPow(double x, int n) {
if(n==) return ;
int m=n>?:-;
double ans=;
long long b=(long long)n*m;
while(b)
{
if(b&) ans*=x;
x*=x;
b>>=;
}
if( m==- ) ans=/ans;
return ans;
}
};
AC代码