快速幂 (分治)
int Pow(int a,int b)
{//快速求a^b,复杂度log(b)
if(b==0)
return 1;
if(b&1) //b是奇数
return a*Pow(a,b-1);
else
{
int t=Pow(a,b/2);
return t*t;
}
}
用位运算优化int Pow(int a,int b)
{//快速求a^b,复杂度log(b)
int result=1;
int base=a;
while(b)
{
if(b&1) //b是奇数
result*=base;
base*=base;
b>>=1; //相当于b=b/2;
}
return result;
}