快速冪
思想:將指數二進制展開
複雜度: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;
}