Pagini recente » Cod sursa (job #1454633) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #281044) | Cod sursa (job #599583)
Cod sursa(job #599583)
var c,v:array[0..2000000] of byte;
a,t:array[1..2000000] of longint;
x,y,k,p,u:longint;
function cmmdc(x,y:longint):longint;
var r:longint;
begin
while y<>0 do
begin
r:=x mod y;
x:=y;
y:=r;
end;
cmmdc:=x;
end;
procedure afisare(k:longint);
begin
if k=1 then write(1) else
begin
afisare(t[k]);
write(c[k]);
end;
end;
begin
assign(input,'multiplu.in');reset(input);
assign(output,'multiplu.out');rewrite(output);
readln(x,y);
k:=x*y div cmmdc(x,y);
p:=1;u:=1;
a[p]:=1;
v[1]:=1;
while a[u]<>0 do
begin
inc(u);
a[u]:=a[p]*10 mod k;
if v[a[u]]=1 then dec(u) else
begin
t[u]:=p;
c[u]:=0;
v[a[u]]:=1;
end;
if a[u]=0 then break;
inc(u);
a[u]:=(a[p]*10+1) mod k;
if v[a[u]]=1 then dec(u) else
begin
t[u]:=p;
c[u]:=1;
v[a[u]]:=1;
end;
inc(p);
end;
afisare(u);
end.