快速幂
#include<cstdio> using namespace std; int quickMod(int a,int b,int m) { int ans=1; a%=m; // a%=m;这里最好处理一下 while(b) { //如果a是一个很大的数的话, if(b&1) { ans*=a; //下面的a^2会超内存 ans%=m; //得不到正确的答案 } a*=a; a%=m; b>>=1; } return ans; } int main() { int a,b,m; while(scanf("%d%d%d",&a,&b,&m)==3) { printf("%d\n",quickMod(a,b,m)); } return 0; }