Cod sursa(job #306170)

Utilizator mlazariLazari Mihai mlazari Data 19 aprilie 2009 22:01:02
Problema Algoritmul lui Euclid extins Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 kb
Program Euclid3;
{ Algoritmul lui Euclid extins }
var Intrare,Iesire : text;
    a,b,c,d,x,y,i : longint;
    t : byte;

procedure euclid(a,b : longint; var d,x,y : longint);
var x0,y0 : longint;
begin
  if b=0 then begin
    d:=a;
    x:=1;
    y:=0;
  end
  else begin
    euclid(b,a mod b,d,x0,y0);
    x:=y0;
    y:=x0-(a div b)*y0;
  end;
end;

begin
  assign(Intrare,'euclid3.in');
  reset(Intrare);
  assign(Iesire,'euclid3.out');
  rewrite(Iesire);
  readln(Intrare,t);
  for i:=1 to t do begin
    readln(Intrare,a,b,c);
    euclid(a,b,d,x,y);
    if c mod d<>0 then writeln(Iesire,'0 0')
    else writeln(Iesire,x*(c div d),' ',y*(c div d));
  end;
  close(Intrare);
  close(Iesire);
end.