Het vermoeden van Collatz1 is een vermoeden (dus nog niet bewezen) uit 1937 dat zegt dat een bepaalde iteratieve methode steeds bij 1 eindigt. De methode verloopt als volgt:
Neem een willeurig natuurlijk getal n als startwaarde:
Als n= 12 dan verkrijg je de volgende rij: 12, 6, 3, 10, 5, 16, 8, 4, 2, 1. Je merkt dat de rij inderdaad eindigt bij 1.
In deze oefening schrijf je 2 functies. De functie volgend_collatz_getal()
die gegeven een getal het volgende getal in de rij berekent.
Daarnaast schrijf je een functie collatz()
die gegeven een startwaarde de volledige rij (tot aan 1) bepaalt. Maak in deze functie gebruik van de vorige functie volgend_collatz_getal()
.
>>> volgend_collatz_getal( 8 )
4
>>> volgend_collatz_getal( 17 )
52
Die functie gebruik je om een Collatz rij op te stellen.
>>> collatz( 8 )
[8, 4, 2, 1]
>>> collatz( 17 )
[17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
Tip
Gebruik de gehele deling
//
. Sla de rij op in een lijst en gebruik telkens de.append()
methode.