1/n 循环节求法 请求帮助
function [m,t]=xh(n)%循环节的长度不会超过分母的值
l=floor(log10(n))+1;
m(1)=floor(10^l/n);
s(1)=mod(10^l,n);
for k=2:n;
m(k)=floor(s(k-1)*10/n);
s(k)=mod(s(k-1)*10,n);
if s(k)==1
t=k+l-1;
break
elseif any(s(1:k-1)==s(k))|s(k)==0
b=find(s(1:k-1)==s(k));
t=k-b;
break
end
end
if t<19
m=num2str(1/n,20);
m=[m(1:k+l+1-t),'(',m(k+l+2-t:k+l+1),')'];
else
m=['循环节过长,不能输出'];
end
if length(t)==0
t=1;
end
if n==3
m='0.(3)';
t=1;
end
%%这是个有问题的程序,希望得到=改正