Pagini recente » Cod sursa (job #1104599) | Cod sursa (job #3217326) | Cod sursa (job #428996) | Borderou de evaluare (job #1330982) | Cod sursa (job #306177)
Cod sursa(job #306177)
Program Inversmodular;
var a,n,x,y : longint;
procedure Citeste;
var Intrare : text;
begin
assign(Intrare,'inversmodular.in');
reset(Intrare);
readln(Intrare,a,n);
close(Intrare);
end;
procedure euclid(a,b : longint; var x,y : longint);
var x0,y0 : longint;
begin
if b=0 then begin
x:=1;
y:=0;
end
else begin
euclid(b, a mod b,x0,y0);
x:=y0;
y:=x0-(a div b)*y0;
end;
end;
procedure Calculeaza;
begin
euclid(a,n,x,y);
while x<1 do x:=x+n;
end;
procedure Scrie;
var Iesire : text;
begin
assign(Iesire,'inversmodular.out');
rewrite(Iesire);
write(Iesire,x);
close(Iesire);
end;
begin
Citeste;
Calculeaza;
Scrie;
end.