典型的快速幂板子
二进制快速幂算法——可迅速求出 a^n。其主要理论依据如下:
1,当 n 为偶数时,a^n 可以转为 a^2 的 n/2 次方。
2,当 n 为奇数时,a^n 可以转为 a^2 的 n/2 次方,再乘以 a。
给
int quick_pow(int n, int k) {
int res = n;
int ans = 1;
while(k)// 为真,即非 0
{
if(k&1)// 位运算判断奇偶
ans = (ans*res);
res = (res*res);
k >>= 1; // 位运算右移,相当于除以 2 ,即 :k=k/2;
}
return ans;
}