Congettura di Collatz

Tag:

si giunge sempre al valore 1, indipendentemente dal valore di partenza (Wikipedia: Congettura di Collatz)

Esempio

Ecco la sequenza che comincia da 17

17 -> dispari -> 3*17+1
52 -> pari    -> 52/2
26 -> pari    -> 26/2
13 -> dispari -> 3*13+1
40 -> pari    -> 40/2
20 -> pari    -> 20/2
10 -> pari    -> 10/2
05 -> dispari -> 3*5+1
16 -> pari    -> 16/2
08 -> pari    -> 8/2
04 -> pari    -> 4/2
02 -> pari    -> 2/2
01 -> STOP

In tutti i casi quando si arriva al valore 1 si interrompe l’esecuzione, altrimenti la sequenza continuerebbe per sempre come 4 – 2 – 1 – 4 – 2 – 1 – …

Approfondimenti

Alcuni numeri percorrono una distanza molto grande prima di giungere a 1, altri raggiungono valori molto alti prima di precipitare verso 1.

La sequenza 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 ha distanza=12 e altezza=52

La sequenza 167 -> … -> 1 ha distanza=67 e altezza=9232!

Codifica: Python