Pagini recente » Cod sursa (job #1986294) | Cod sursa (job #3172980) | Cod sursa (job #2164311) | Cod sursa (job #1972059) | Cod sursa (job #2495045)
#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;
long long r=explog(a,p/2);
if(p%2==1)return (((r*r)%n)*a)%n;
return (r*r)%n;
}
int invmod(int a){
return explog(a,n-2);
}
int main(){
fin>>a>>n;
fout<<invmod(a);
return 0;
}
///p prim, (a,p)=1 => a^(p-1) da restul 1 la imp cu p