通过把幂转成2进制来进行运算。
首先设置自定义函数来进行2进制转换,将幂进行正处于二。如果余一就把基数乘上去,在把基数平方,如果整除就直接基数平方。
代码
ll Pow2(ll x, ll y,ll z) {
ll ans = 1, base = x;
while (y != 0) {
if (y % 2 != 0) ans=(ans* base);
base *= base;
y /= 2;
}
return ans;
}