Cod sursa(job #2668854)
| Utilizator | Data | 5 noiembrie 2020 16:46:49 | |
|---|---|---|---|
| Problema | Invers modular | Scor | 0 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.37 kb |
#include <stdio.h>
#include <stdlib.h>
int main(){
int s,a,n,p;
FILE *fin, *fout;
fin=fopen("invmod.in","r");
fscanf(fin,"%d%d",&a,&n);
fclose(fin);
s=1;
p=n-2;
while(p>0){
if(p%2==1){
s*=a;
s%=n;
}
a*=a;
a%=n;
p/=2;
}
fout=fopen("invmod.out","w");
fprintf(fout,"%d\n",s);
fclose(fout);
return 0;
}
