also wenn ich es richtig verstanden habe, dann könnte man den ganzen Überprüfungsteil sich sparen indem man den folgenden Teil umschreibt....
Delphi-Quellcode:
repeat
if frac(c/2)=0 then begin sn[i]:=0; i:=i+1; c:=c/2; end
else begin sn[i]:=1; i:=i+1; c:=(3*c+1)/2; end;
until i>u;
in...
Delphi-Quellcode:
k : array[1..30] of integer;
sn:integer;
//..
// initialisieren alle k[] = 0
//..
kpos=1;
sn=0;
repeat
if frac(c/2)=0 then
begin
k[i]=k[i]+1;
c:=c/2;
end
else
begin
sn:=1;
c:=(3*c+1)/2;
end;
i:=i+1;
until (i>u) and (sn=0);