Cod sursa(job #129651)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 29 ianuarie 2008 20:47:11
Problema Multiplu Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.13 kb
Program multiplu;
Var f,ff:text;
    a,b,m,g,i,l,ll:longint;
    nr:array[1..50000] of string[100];
    r:array[0..50000] of longint;
    h:array[0..2000000] of boolean;
function cmmdc(a,b:longint):longint;
var r:longint;
begin
 repeat
  r:=a mod b;
  a:=b;
  b:=r;
 until(r=0);
 cmmdc:=a;
end;
Begin
  assign(f,'multiplu.in');
  reset(f);
  assign(ff,'multiplu.out');
  rewrite(ff);
  readln(f,a,b);
  m:=(a*b) div cmmdc(a,b);
  r[1]:=1;
  nr[1]:='1';
  l:=1;
  ll:=1;
  while(1=1) do
    begin
     if g=0 then
       if h[(r[l]*10) mod m]=FALSE then
         begin
          ll:=ll+1;
          h[(r[l]*10) mod m]:=TRUE;
          r[ll]:=(r[l]*10) mod m;
          nr[ll]:=nr[l]+'0';
          if r[ll]=0 then begin g:=0; Writeln(ff,nr[ll]); break; end;
         end;
     if g=0 then
       if h[(r[l]*10+1) mod m]=FALSE then
         begin
          ll:=ll+1;
          h[(r[l]*10+1) mod m]:=TRUE;
          r[ll]:=(r[l]*10+1) mod m;
          nr[ll]:=nr[l]+'1';
          if r[ll]=0 then begin g:=0; Writeln(ff,nr[ll]); break; end;
         end;
     inc(l);
    end;
  close(f);
  close(ff);
End.