二分法求a^b(递归)

原理:b为偶数时,a^b = a^(b/2) * a^(b/2) = (a*a)^(b/2),如a^4 = a^2 * a^2  

b为奇数时,a^b = a * a^(b/2) * a^(b/2) =a *  (a*a)^(b/2),如a^5 = a * a^2 * a^2

    LL A_b(LL a, LL b)
{
if (b == 0)
{
return 1;
}

LL temp = A_b(a*a, b >> 1);
if(b & 1)
{
temp = temp*a;
}
return temp;

}



原文地址:https://www.cnblogs.com/qiufeihai/p/2409458.html