Hallo,
und herzlich Willkommen in der
DP.
Mit dem Startwert 670617279 ergibt sich folgende Folge: 670617279, 2011851838, 1005925919, -1277189538
Das Ergebnis 3 * 1005925919 + 1 ist größer als der maximale Integerbreich von -2147483648..2147483647. Deshalb wird das Produkt negativ; also ist Deine Bedingung der while-Schleife nicht mehr erfüllt (nach drei Schritten).
Du kannst es mal mit
Delphi-Quellcode:
var
x : Int64;
z : Cardinal;
versuchen. Damit hat es aber auch irgendwann ein Ende.
BTW: Bitte nimm in Zunkunft die Delphi-Tags für Code (Helmsymbol klicken und Deinem Code zwischen die Tags setzen).
Gruß