// 非递归
double mypow(double base,int r)
{
double res=1.0;
while(r)
{
if((r&1)==1)
res*=base;
base*=base;
r=r>>1;
}
return res;
}
// 递归
double mypow(double base,int r)
{
if(r==0)
return 1.0;
if(r==1)
return base;
double res=mypow(base,r>>1);
res*=res;
if((r&1)==1)
res*=base;
return res;
}