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