Cod sursa(job #238921)
Utilizator | Data | 3 ianuarie 2009 17:39:52 | |
---|---|---|---|
Problema | Multiplu | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 2.07 kb |
program alex;
var f:text;
q,b,x,y,r,m,n,s,p,i,ex1,ex2,k,poz:longint;
c,a:array[1..10000]of 0..9;
e:boolean;
begin
assign(f,'multiplu.in');reset(f);
readln(f,q,b);
close(f);
x:=q;
y:=b;
r:=x mod y;
while r<>0 do
begin
x:=y;
y:=r;
r:=x mod y;
end;
m:=(q*b) div y;
n:=m;
ex1:=0;
ex2:=0;
while n mod 2=0 do
begin
n:=n div 2;
ex1:=ex1+1;
end;
while n mod 5=0 do
begin
n:=n div 5;
ex2:=ex2+1;
end;
assign(f,'multiplu.out');rewrite(f);
if n=1 then begin
if ex1>ex2 then begin
write(f,1);
for i:=1 to ex1 do
write(f,0);
end
else begin
write(f,1);
for i:=1 to ex2 do
write(f,0);
end;
end
else begin
e:=false;
x:=1;
k:=0;
repeat
x:=x*10;
k:=k+1;
c[k]:=x;
a[k]:=x div m;
x:=x-a[k]*m;
for i:=1 to k-1 do
if c[k]=c[i] then begin
e:=true;
poz:=i;
end;
until e=true;
for i:=1 to k-poz do
write(f,1);
for i:=1 to poz-1 do
write(f,0);
end;
close(f);
end.