Pagini recente » Cod sursa (job #3228656) | Cod sursa (job #3201120) | Cod sursa (job #2391275) | Cod sursa (job #2391141) | Cod sursa (job #2495034)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,n;
int explog(int a,int p){
if(p==0)return 1;
int r=explog(a,p/2);
if(p%2==1)return (1LL*r*r*a)%n;
return (1LL*r*r)%n;
}
int invmod(int a,int p){
return explog(a,p-2);
}
int main(){
fin>>a>>n;
fout<<invmod(a,n);
return 0;
}
///p prim, (a,p)=1 => a^(p-1) da restul 1 la imp cu p