#include<stdio.h> // 样例
int quickpower(int x,int y) // 2^5
{ // x=2 y=5
int s; // 未开始 开始后
s=1; //s= 1 2 2 32
while(y) //x= 4 16 256
{ //y= 2 1 0
if(y&1) // y=0跳出循环
s=s*x;
x=x*x;
y=y>>1;
}
return s;
}
int main()
{
int x,y;
scanf("%d %d",&x,&y);
printf("%d\n",quickpower(x,y));
return 0;
}
y&1 和 y%2==0 等价
y>>1 和 y/2 等价