Cod sursa(job #159024)

Utilizator dorinelburiceanu dorin gabriel dorinel Data 13 martie 2008 22:15:50
Problema Multiplu Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.18 kb
program multiplu_dirichlet;
var f,g:text;
    a,b,m:longint;
    ok:boolean;
    rest:array[1..16000]of longint;
function cmmmc(a,b:longint):longint;
var cmmdc,a1,b1,r:longint;
begin
a1:=a;
b1:=b;
repeat
r:=a1 mod b1;
a1:=b1;
b1:=r;
until b1=0;
cmmdc:=a1;
cmmmc:=(a div cmmdc)*b;
end;


procedure afla;
var m:longint;
    k,i,j,x:longint;
    ok:boolean;
begin
m:=cmmmc(a,b);
rest[1]:=1;
ok:=false;
i:=1;
repeat
i:=i+1;
rest[i]:=(rest[i-1]*10+1)mod m;
if rest[i]=0 then
  begin
  k:=0;
  repeat
  	write(g,1);
  	k:=k+1;
  until k=i;
  write(g,0);
  ok:=true;
  end
else
  begin
  j:=1;
  repeat
  if rest[j]=rest[i] then
    begin
    k:=0;
    repeat
    write(g,1);
   	k:=k+1;
    until k=i-j;
    x:=0;
    repeat
    write(g,0);
    x:=x+1;
    until x=j;
    ok:=true;
    end
  else
    j:=j+1;
  until j=i;
end;
until ok=true;
end;

begin
assign(f,'multiplu.in');
reset(f);
assign(g,'multiplu.out');
rewrite(g);
read(f,a,b);
{m1:=cmmmc(a,b);
ok:=false;
repeat
p:=m1 mod 10;
if(p=0)or(p=1) then
	begin
  ok:=true;
  m1:=m1 div 10;
  end;
until (ok=false)or (m1=0)
if ok= false then   }
afla;
close(f);
close(g);
end.