Cod sursa(job #228315)
Utilizator | Data | 6 decembrie 2008 22:44:58 | |
---|---|---|---|
Problema | Invers modular | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
long long N,i,A,nr,nrr;
int main()
{
freopen("inversmodular.in","r",stdin);
scanf("%ld %ld", &A,&N);
nr=1;
nrr=A;
for (i=1;i<=N-2;i/=2)
{
if (i&A) nr=(nr*nrr)%N;
nrr=(nrr*nrr)%N;
}
freopen("inversmodular.out","w",stdout);
printf("%ld", nr);
return 0;
}