Cod sursa(job #109511)

Utilizator generalsenobiScinteie Sebastian generalsenobi Data 25 noiembrie 2007 11:31:38
Problema Ecuatie Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.37 kb
program ecuatie;
var a,b,c,k:integer;
p1,p2,q1,q2:integer;
i:integer;

eqin, eqout:text;
begin

assign(eqin,'ecuatie.in'); reset(eqin);
assign(eqout,'ecuatie.out'); rewrite(eqout);
  readln(eqin,a,b,c,k);
  i:=0;
  for p1:=-abs(a) to abs(a) do
    begin
      if p1<>0 then
      for q1:=-abs(c) to abs(c) do
        if q1<>0 then
        begin
          p2:= a div p1;
          q2:= c div q1;

          if (p1*p2=a)and(q1*q2=c)and(p1*q2+p2*q1=b) then
            begin
              inc(i);
              if i=k then
              begin
              write(eqout,'(');
              if p1=1 then else
              if p1=-1 then
                write(eqout,'-') else
                write(eqout,p1);

              write(eqout,'x');
              if q1>=0
                then
                  write(eqout,'+',q1,')')
                else write(eqout,Q1,')');

              write(eqout,'(');
              if p2=1 then else
              if p2=-1 then
                write(eqout,'-') else
                write(eqout,p2);

              write(eqout,'x');
              if q2>=0
                then
                  write(eqout,'+',q2,')')
                else write(eqout,Q2,')');

              writeln(eqout,'');
              end;
            end;
        end;
    end;
   if k>i then writeln(eqout,'-1');
 close(eqin);close(eqout);
end.