Cod sursa(job #129703)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 29 ianuarie 2008 21:55:10
Problema Multiplu Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.25 kb
Program multiplu;
Var f,ff:text;
    a,b,g,i,l,ll,q:longint;
    m:int64;
    nr:array[0..2000009] of char;
    r,u:array[0..2000009] of longint;
    h:array[0..2000009] of boolean;
procedure afis(i:longint);
begin
 if u[i]=-1 then Write(ff,nr[i])
            else begin afis(u[i]); Write(ff,nr[i]); end;
end;
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';
  u[1]:=-1;
  l:=1;
  ll:=1;
  while(1=1) do
    begin
     q:=(r[l]*10) mod m;
     if g=0 then
       if h[q]=FALSE then
         begin
          ll:=ll+1;
          h[q]:=TRUE;
          r[ll]:=q;
          nr[ll]:='0';
          u[ll]:=l;
          if r[ll]=0 then break;
         end;
     q:=(q+1) mod m;
     if g=0 then
       if h[q]=FALSE then
         begin
          ll:=ll+1;
          h[q]:=TRUE;
          r[ll]:=q;
          nr[ll]:='1';
          u[ll]:=l;
          if r[ll]=0 then break;
         end;
     inc(l);
    end;
  if m=1 then Writeln(ff,'1')
         else afis(ll);
  close(f);
  close(ff);
End.