Pagini recente » Cod sursa (job #2936273) | Cod sursa (job #2167277) | Cod sursa (job #429353) | Cod sursa (job #2494245) | Cod sursa (job #2495043)
#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){
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