Cod sursa(job #1471319)
Utilizator | Data | 13 august 2015 16:44:41 | |
---|---|---|---|
Problema | Invers modular | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include<stdio.h>
int a,n,x,y,z;
void E(int a,int b,int *x,int *y) {
int p,r;
if(!b)
*x=1,*y=0;
else
E(b,a%b,&p,&r),*x=r,*y=p-a/b*r;
}
int main() {
freopen("inversmodular.in","r",stdin),freopen("inversmodular.out","w",stdout),scanf("%d%d",&a,&n),E(a,n,&x,&y),z=x;
for(;z<1;z+=n);
for(;z>n;z-=n);
printf("%d",z);
}