Het vermoeden van Collatz is een beroemd onopgelost probleem. 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 de functie collatz(n)
. Deze neemt een geheel getal n als parameter en returnt hoeveel stappen er nodig zijn om 1 te bereiken.
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.
Onze functies moeten dus als volgt werken:
print(collatz(8))
3
print(collatz(3))
7