Pagini recente » Cod sursa (job #1290199) | Cod sursa (job #2143979) | Cod sursa (job #982158) | Cod sursa (job #833733) | Cod sursa (job #129692)
Cod sursa(job #129692)
Program multiplu;
Var f,ff:text;
a,b,g,i,l,ll:longint;
m:int64;
nr:array[1..100000] of char;
r,u:array[0..100000] 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
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]:='0';
u[ll]:=l;
if r[ll]=0 then begin g:=0; 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]:='1';
u[ll]:=l;
if r[ll]=0 then begin g:=0; break; end;
end;
inc(l);
end;
afis(ll);
close(f);
close(ff);
End.