Seite 1 von 1

Collatz

Verfasst: Sonntag 10. Oktober 2021, 12:08
von akon55
Aufgabe1: Schreiben Sie eine Funktion, die als Eingabe eine ganze Zahl z bekommt (erzwingen Sie die Übergabe ¨
einer ganzen Zahl). Ist z gerade, soll z/2 zurückgegeben werden, ist z ungerade, soll 3z+1 zurückgegeben
werden.

Aufgabe2: Schreiben Sie eine Funktion, die eine Zahl z als Input erhält und solange die Schritte aus Aufgabe1 ausführt, bis ein Zyklus entsteht, also eine Zahl, die bereits betrachtet wurde. Diese Zahl soll
zurückgegeben werden.
Bsp.: Für die Eingabe 4 sind die nächsten entstehenden Zahlen 2 ( 4/2), 1 ( 2/2) und dann wieder 4(3 · 1 + 1). Hier soll der Algorithmus abbrechen und 4 zurückgeben, da die Zahl 4 bereits betrachtet wurde und somit ein Zyklus entstanden ist.

Kann mir einer bitte bei der Aufgabe2 helfen.

Re: Collatz

Verfasst: Sonntag 10. Oktober 2021, 12:20
von __deets__
Zum einpflegen nuns nachschlagen von zahlen eignet sich der set-Datentyp besonders gut.

Re: Collatz

Verfasst: Sonntag 10. Oktober 2021, 12:26
von Buchfink