Zufallszahlen nach v Neumann

Hallo.
Ich muss für den Informatik-Unterricht in der Schule ein Programm zur erstellung von Zufallszahlen nach Neumann schreiben.

Zur Info: „Man beginnt mit einer beliebigen 2k-ziffrigen Zahl und quadriert sie. Das Ergebnis ist eine 4k-ziffrige Zahl (bzw. wird durch Voranstellen von Nullen zu einer solchen ergänzt). Aus der Ziffernfolge schneidet man die mittleren 2k Ziffern heraus, quadriert sie usw.“

Ich habe jetzt nur keine Ahnung wie ich z.B. 4567^2 -> 20 8574 89; 8574 „auschneidet“. Muss ich dazu die Zahl in einen String umwandeln?

Schon mal Danke im Vorraus
Jonas

Hallo,

Ich habe jetzt nur keine Ahnung wie ich z.B. 4567^2 -> 20 8574
89; 8574 „auschneidet“. Muss ich dazu die Zahl in einen String
umwandeln?

das wäre eine Möglichkeit. Allerdings sind die Umwandlungen (du musst ja für die nächste Quadrierung in eine Zahl zurückwandeln) immer recht unperformant. Das Ganze kann auch viel schneller mit 2 Integerdivision und einer Subtraktion erledigt werden.

Gruß, Niels