Het vermoeden van Collatz

Beschrijving van het probleem

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.

Opdracht

Schrijf 2 functies:

collatz(n)
lengte_collatz(n)

De functie collatz(n) neemt een geheel getal als parameter en returnt de volgende waarde op basis van de bovenstaande regels. Voor deze functie zul je een if-statement nodig hebben.

De functie lengte_collatz(n) neemt een geheel getal als parameter en returnt hoeveel stappen er nodig zijn om 1 te bereiken. Deze functie kun je met een while-lus programmeren.

Uitgewerkte Voorbeelden

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))
print(lengte_collatz(8))

4

3

print(collatz(3))
print(lengte_collatz(3))

10

7