Cod sursa(job #115335)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 16 decembrie 2007 12:12:23
Problema Multiplu Scor 10
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasele 11-12 Marime 1 kb
var a,b,maxi:longint;
    fi,fo:text;
    rez,inf,sup,i,imp:int64;
    baza:array[1..100]of byte;
function binar(a:int64):int64;
var numar,numar2:int64;
    uc,ct,i:integer;
begin
  numar2:=0; ct:=0;
  while a<>0 do
    begin
      uc:=a and 1;
      inc(ct); baza[ct]:=uc;
      a:=a shr 1;
    end;
  for i:=ct downto 1 do
    numar2:=numar2*10+baza[i];
  binar:=numar2;
end;
function ggt(m,n:longint):longint;
var a,b:longint;
begin
  a:=m;
  b:=n;
  while a<>b do
    if a>b then a:=a-b
           else b:=b-a;
  ggt:=a;
end;
function kgv(a,b:longint):longint;
begin
  kgv:=a*b div ggt(a,b);
end;
function solv:int64;
var rez2:int64;
begin
  i:=1;
  while i<=1000000000 do
    begin
      rez2:=binar(i);
      if rez2 mod rez=0 then begin solv:=rez2; exit; end;
      inc(i);
    end;
end;
begin
  assign(fi,'multiplu.in'); reset(fi);
  assign(fo,'multiplu.out'); rewrite(fo);
  read(fi,a,b);
  rez:=kgv(a,b);
  writeln(fo,solv);
  close(fi);
  close(fo);
end.