//快速幂
//经常涉及取余
//本例对1000000007取余,因此需要用long long,以免中间计算过程超出int范围
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
__int64 QuickPow(int m,int n)
{
__int64 result=1,pow=m;
while(n){
if(n&1)
result=(result*pow)%1000000007;
pow=(pow*pow)%1000000007;
n=n>>1;
}
return result;
}
int main(){
int m,n;
while(cin>>m>>n){
cout<<QuickPow(m,n)<<'\n';
}
return 0;
}
快速幂
最新推荐文章于 2025-04-13 23:00:00 发布