Pagini recente » Cod sursa (job #2378915) | Cod sursa (job #2554452) | Cod sursa (job #688282) | Cod sursa (job #2762210) | Cod sursa (job #645257)
Cod sursa(job #645257)
#include<stdio.h>
FILE*f=fopen("inversmodular.in","r");
FILE*g=fopen("inversmodular.out","w");
int a,n;
long long xp,yp;
void euclid(int a,int b,long long &x,long long &y){
if(b==0){
x=1;
y=0;
return ;
}else{
long long x0,y0;
euclid(b,a%b,x0,y0);
x=y0;
y=x0-(a/b)*y0;
}
}
int main(){
fscanf(f,"%d%d",&a,&n);
euclid(a,n,xp,yp);
while(xp<=0){
xp=n+xp%n;
}
fprintf(g,"%lld",xp);
fclose(f);
fclose(g);
return 0;
}