难度:2
快速幂没什么好说的。。
就是n可以为负数要注意一下,裸的快速幂干不了负数
class Solution
{
public:
double pow(double x, int nn)
{
bool fu=nn<0;
long long n=nn;
if(fu) n*=-1;
double ans=1;
while(n)
{
if(n&1) ans*=x;
x*=x;
n>>=1;
}
if(fu) ans=1/ans;
return ans;
}
};