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