快速幂
快速计算一个数的高次方幂
将幂用2进制分解
21 = (10101)2
9^21 = 9^(10000) + 9^100 + 9^1
#include <stdio.h>
#include <stdlib.h>
int pow_mod(int a,int k){
int ans = 1;
while(k){
if(k % 2) ans*=a;
a *= a;
k /= 2;
}
return ans;
}
int main()
{
int a,k;
scanf("%d%d",&a,&k);
printf("%d\n",pow_mod(a,k));
return 0;
}