notverynicedecimalexpansion:=proc(r::rational)
local p,q,rr,k,l,de,i;
p:=numer(r);
q:=denom(r);
rr[0]:=irem(p,q);
if rr[0]<0 then rr[0]:=rr[0]+q fi;
for k do
de[k]:=iquo(10*rr[k-1],q,rr[k]);
for l from 0 to k-1 do
if rr[k]=rr[l] then
RETURN([seq(de[i],i=1..l)],
[seq(de[i],i=l+1..k)])
fi
od
od
end: # notverynicedecimalexpansion