Cod sursa(job #2152975)
| Utilizator | Data | 5 martie 2018 21:33:26 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
int LgPow(int a,int b,int MOD){
int P=a,Ans=1;
for(int i=0;(1<<i)<=b;++i){
if((1<<i)&b) Ans=1LL*Ans*P%MOD;
P=1LL*P*P%MOD;
}
return Ans;
}
int InvMod(int A,int MOD){
return LgPow(A,MOD-2,MOD);
}
int main(){
freopen("inversmodular.in","r",stdin);
freopen("inversmodular.out","w",stdout);
int A,N;
cin>>A>>N;
cout<<InvMod(A,N);
}
