费马小定理 a^(p-1) ≡ 1(mod p) p是质数,且a,p互质
所以可以将较大的指数b缩小,从而减少运算量
#include <iostream>
using namespace std;
int Mod_Exp(int a,int b,int m){
int mun=1;
while(b>=m-1){
b=b-(m-1);
}
while(b>0){
mun*=a;
b--;
}
while(mun>=m){
mun-=m;
}
return mun;
}
int main() {
int a,b,m;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"m=";cin>>m;
cout<<Mod_Exp(a,b,m)<<endl;
return 0;
}