快速幂
思想:将指数二进制展开
复杂度:log n
//quick_pow
#include<iostream>
#include<cstdio>
using namespace std;
int quick_pow(long long a,long long b)
{
long long ans=1,base=2;
while(b!=0)
{
if(b&1)//从右至左二进最后一位为1则乘2^此位
ans*=base;
base*=base;//提升2指数级
b>>=1;//去掉最后一位
}
return ans;
}
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b))
cout<<quick_pow(a,b)<<endl;
}