Opdracht

Schrijf een programma dat de gebruiker om een positief geheel getal vraagt, en dan de volledige Collatz-reeks (ook wel 3n + 1-reeks genoemd) afdrukt, beginnend bij dat getal en eindigend bij 1.

Wat is de Collatz-reeks?

De Collatz-reeks is een reeks getallen waarbij elk volgend getal steeds volgens deze twee regels berekend wordt::

  1. Is het getal even? Deel het door 2.
  2. Is het getal oneven? Vermenigvuldig het met 3 en tel er 1 bij op.

Herhaal deze stappen steeds opnieuw.

Het Vermoeden van Collatz is dat je uiteindelijk altijd bij het getal 1 uit komt, ongeacht welk positief geheel getal je mee begint.

Hieronder zie je enkele voorbeelden:

Startgetal Collatz-reeks Waarom?
6 6, 3, 10, 5, 16, 8, 4, 2, 1 6 / 2 = 3
3 × 3 + 1 = 10
10 / 2 = 5
...
11 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 11 × 3 + 1 = 34
34 / 2 = 17
...
19 19, 58, 29, 88, 44, 22, 11, ... , 2, 1 19 × 3 + 1 = 58
58 / 2 = 29
...

(PS: Hoewel deze hypothese nog niet wiskundig bewezen is, heeft niemand tot nu toe een positief geheel getal gevonden dat niet eindigt op 1.)


Voorbeelden

Voorbeeld 1

Invoer

6

Uitvoer

Collatz-reeks: 6, 3, 10, 5, 16, 8, 4, 2, 1.
Voorbeeld 2

Invoer

11

Uitvoer

Collatz-reeks: 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.
Voorbeeld 3

Invoer

19

Uitvoer

Collatz-reeks: 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.