#include<iostream>
using namespace std;
int main()
{
int a, b;
int ans = 1;
cin >> a >> b;
while (b != 0)
{
//当二进制位k位为1时,需要累乘a的2^k次方,然后用ans保存
if (b % 2 == 1)
{
ans *= a;
}
a *= a;
//每次除以2,转换成二进制位
b /= 2;
}
cout << ans;
}
“二分求幂”
开始不理解,后来带了两个数进去算,就想明白了