快速冪(求余)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll a,b,p;
ll sol(ll c){
if(!c){
return 1%p;
}
if(c==1){
return a%p;
}
ll half=sol(c/2);
return c%2==1?half*half*a%p:half*half%p;
}
int main(){
cin>>a>>b>>p;
cout<<a<<"^"<<b<<" mod "<<p<<"="<<(sol(b))<<endl;
return 0;
}

浙公網安備 33010602011771號