#include<stdio.h>
#define M 1000000007
int fp(int a,int b){
long long ret=1,pow=a;//ret:返回值;pow:基底
while(b!=0){
if(b&1) ret=(ret*pow)%M; //如果b是偶数,则跳过。执行 pow=(pow*pow)%M,减少一次幂的运算。例如:(2^2)^2=2^4
pow=(pow*pow)%M;
b/=2;//相当于b>>1
}
return (int)ret;
}
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",fp(a,b));
}
快速求幂
最新推荐文章于 2023-03-04 21:29:31 发布