Cod sursa(job #331145)

Utilizator ionutz32Ilie Ionut ionutz32 Data 12 iulie 2009 21:04:33
Problema Invers modular Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
var a,n,x1,y1,df:longint;
f,g:text;
procedure cmmdc(n1,n2:longint;var x,y,d:longint);
          var aux:longint;
          begin
          if n2=0 then
             begin
             d:=n1;
             x:=1;
             y:=0;
             end
          else
              begin
              cmmdc(n2,n1 mod n2,x,y,d);
              aux:=x;
              x:=y;
              y:=aux-y*(n1 div n2);
              end;
          end;
begin
assign(f,'inversmodular.in');
assign(g,'inversmodular.out');
reset(f);rewrite(g);
read(f,a,n);
cmmdc(a,n,x1,y1,df);
if x1<1 then
   while x1<1 do
         x1:=x1+n;
write(g,x1);
close(f);close(g);
end.