Cod sursa(job #167843)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 30 martie 2008 11:44:31
Problema Multiplu Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.05 kb
var r : array[1..2000000] of byte;
    nr1 : array[1..2000000] of integer;
    uc : array[1..2000000] of byte;
    a,b,i,x,c,nr : longint;
    m,p : int64;
    f,g : text;
function cmmdc(a,b : longint):longint;
var c : longint;
begin
  while b<>0 do
  begin
    c:=a mod b;
    a:=b;
    b:=c;
  end;
  cmmdc:=a;
end;
procedure solve;
begin
    if x mod m=0 then
    begin
      for i:=1 to nr do write(g,'1');
      writeln(g,c); close(g);
      halt;
    end;
  if r[x mod m]=0 then
    begin
      inc(r[x mod m]);
      nr1[x mod m]:=nr;
      uc[x mod m]:=c;
    end
  else
    begin
      for i:=1 to nr-nr1[x mod m] do
        write(g,'1');
      for i:=1 to nr1[x mod m] do
        write(g,'0');
      writeln(g,c-uc[x mod m]);
      close(g); halt;
    end;
  x:=x mod m;
end;

begin
assign(f,'multiplu.in');reset(f);
assign(g,'multiplu.out');rewrite(g);
read(f,a,b);
m:=(a*b) div cmmdc(a,b); {cmmc}
x:=1; nr:=0;
repeat
  inc(nr);
  x:=x*10;
  c:=0;
  solve;
  inc(x); c:=1;
  solve;
until nr=0;
end.