Hallo.
Ich will ein Programm schreiben, dass die Collatz Zahlenfolge ausgeben kann. Ich will diese Zahlenfolge bis auf ein ntes Folgeglied in einem StrinGrid ausgeben lassen. Bitte helft mir xD. Ich komme mit dem ausgeben nicht so klar.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x,z:int64;
i,y:integer;
begin
i := StrToInt(Edit2.text);
if TryStrToInt64(Edit1.text, x) then
x := StrToInt(Edit1.text) else
x := 0;
z := 0;
if (x = 0) or (x < 0) then showmessage('Die Zahl muss mindestens 1 sein!')
else
begin
while (x > 1) do
begin
if (x mod 2 = 0) then
begin
x:= x div 2;
Inc(z);
end
else
begin
x := x * 3 + 1;
Inc(z);
end;
label4.caption := 'Nach ' + IntToStr(z) +' Schritten kommt 1 heraus.';
if (x = 0) or (x < 0) then
begin
while (x > 1) do
begin
if (x mod 2 = 0) then
begin
x := x div 2;
end
else
begin
for y := 1 to i do
begin
x := x * 3 + 1;
end;
end;
end;
end;
end.
Danke schonmal im vorraus
Ich habe doch glatt vergessen zu sagen das der obere Teil dazu dient herauszufinden wann dieses typische Muster 4 2 1 auftaucht.