Cod sursa(job #290503)

Utilizator Cristian_BBerceanu Cristian Cristian_B Data 28 martie 2009 00:17:00
Problema Algoritmul lui Euclid extins Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.88 kb
var x,y,d,i,t,a,b,c:longint;
    ok:boolean;
    f,g:text;
function cmmdc(m,n:longint):longint;
var aux,r:longint;
begin

 if m<n then
 begin
  aux:=m;
  m:=n;
  n:=aux;
 end;

 while r<>0 do
 begin
  r:=m mod n;
  m:=n;
  n:=r;
 end;
cmmdc:=m;

end;
BEGIN
assign(f,'euclid3.in');
reset(f);
assign(g,'euclid3.out');
rewrite(g);
readln(f,t);
for i:=1 to t do
begin
 readln(f,a,b,c);
 if a=0 then
 if c mod b=0 then
 writeln(g,1, ' ',c div b)
 else
 writeln(g,0,' ',0)
 else
 if b=0 then
 if c mod a=0 then
 writeln(g,c mod a,' ',1)
 else
 writeln(g,0,' ',0)
 else
 BEGIN
 d:=cmmdc(a,b);
 if c mod d<>0 then
  writeln(g,0,' ',0)
  else
  Begin
    a:=a div d;
    b:=b div d;
    c:=c div d;
    x:=0;
    while (c-a*x) mod b<>0 do
     x:=x+1;
     y:=(c-a*x) div b;
     writeln(g,x,' ',y);
  End;
 END;
end;
close(g);
close(f);
END.