Het vermoeden van Collatz is één van de beroemdste onopgeloste problemen uit de wiskunde. Het gaat als volgt:
Het vermoeden is dat de reeks die je bekomt voor àlle startwaarden uiteindelijk naar 1 gaat. Dit is echter nog niet bewezen.
Schrijf een functie collatz(n)
die een geheel getal als parameter neemt. De functie berekent hoeveel stappen er nodig zijn om tot aan 1 te geraken. Gebruik recursie in je oplossing.
Stel dat we 8 als startwaarde nemen. De reeks die we genereren is:
\[8 \rightarrow 4 \rightarrow 2 \rightarrow 1\]Na 3 stappen zijn we dus bij 1. Beginnen we in de plaats bij het getal 3, dan wordt het:
\[3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1\]Hier waren 7 stappen voor nodig.
print(collatz(8))
3
print(collatz(3))
7