Wenn ich also herausfinden möchte, ob die 17 wundersam ist, gehe
ich folgendermassen vor: Die 17 ist ungerade, also multipliziere ich sie
mit 3 und addiere 1 dazu:
. Die 52 ist gerade, sie wird durch zwei dividiert: 52 / 2 = 26 . Auch
die 26 ist gerade, also das Gleiche noch einmal: 26 / 2 = 13 . 13 ist ungerade,
also
. Das Ergebnis kann ich jetzt mehrfach durch 2 dividieren: 40 / 2 = 20
, 20 / 2 = 10 , 10 / 2 = 5 . Auf die 5 muss ich wieder die andere Operation
anwenden:
. Die 16 ist eine Potenz der 2, ich sehe direkt, dass ich nun auf die 1
stosse: 16 / 2 = 8 , 8 / 2 = 4 , 4 / 2 = 2 und 2 / 2 = 1 . Da ich jetzt
auf die 1 gestossen bin, ist meine Anfangszahl 27 wundersam.
Man hat noch keine Zahl gefunden, die nicht wundersam ist, doch kann nicht bewiesen werden, dass alle Zahlen wundersam sind. Die Anzahl der Durchläufe, die zum Testen gebraucht werden, ist völlig unterschiedlich; bei 32 komme ich beispielsweise mit 5 Schritten zur 1, bei 31 brauche ich 106 Durchläufe.

In diesem Diagramm habe ich die Beispielberechnung umgesetzt. Auf der x-Achse sind die Schleifendurchl"aufe, auf der y-Achse der jeweilige Wert aufgetragen. An dieser Zeichnung kann man auch gut den Namen Achterbahn-Zahlen nachvollziehen.
Meine Funktion wundersam (S. [*]) gibt als boolean zurück, ob eine Zahl wundersam ist.
Mit der Abfrage if rest(x, '2') = 0 wird getestet, ob x gerade ist.
Diese Funktion kann allerdings nur wundersame Zahlen erkennen. Falls eine Zahl nicht wundersam ist, landet der Computer in einer Endlosschleife. Wenn auch das berücksichtigt werden sollte, müsste ich alle vorherigen Ergebnisse speichern. Wenn sich dann eines wiederholen würde, w"are die Zahl nicht wundersam.