My program won't stop running and I cannot figure out why.

1 view (last 30 days)
frac=0.525;
b=7;
A=[frac*b];
F=[floor(frac*b)];
frac=A(1)-F(1);
while frac-floor(frac)~=0
A=horzcat(A,frac*b);
for i=1:length(A)-1
if abs(A(i)-A(length(A)))<10^(-5)
sprintf('This is a repeating fraction in base %d',b)
break
end
end
F=horzcat(F,floor(frac*b));
frac=A(length(A))-F(length(F));
end
A
F

Answers (1)

Walter Roberson
Walter Roberson on 27 Feb 2018
break only breaks one level. It would leave the for but not the while at the same time.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!