Algoritmo di Siracusa
Successione di CollatzDavid Wells
NUMERI MEMORABILI
Zanichelli
L'algoritmo di Siracusa inizia da un numero qualsiasi e poi lo divide per 2 se è pari, mentre invece lo moltiplica per 3 e vi somma 1 se è dispari.NUMERI MEMORABILI
Zanichelli
Il procedimento viene ripetuto.
Ecco la sequenza che comincia da 17:
17 -> 17*3+1=52 -> 52/2=26 -> 26/2=13 -> 13*3+1=40 -> 40/2=20 -> 20/2=10 -> 10/2=5 -> 5*3+1=16 -> 16/2=8 -> 8/2=4 -> 4/2=2 -> 2/2=1
STOP, altrimenti ripeterebbe la sequenza
4 -> 2 -> 1 -> 4 -> 2 -> 1 -> ...
all'infinito.Tutti i numeri interi inferiori a 1.000.000.000 sono stati sottoposti a verifica e per tutti alla fine la sequenza termina con 4-2-1.
Non è noto se tutti i numeri, alla fine, terminano con 1.
Pseudocodice
Se N è pari diventa N/2, se N è dispari diventa 3*N+1 e questo ripetuto mentre N <> 1.MENTRE(n <> 1)
INIZIO
SE(DISPARI(n)) ALLORA
n = 3*n+1
ALTRIMENTI
n = n/2
SCRIVI(n)
FINE
INIZIO
SE(DISPARI(n)) ALLORA
n = 3*n+1
ALTRIMENTI
n = n/2
SCRIVI(n)
FINE
Applicazione JavaScript
<JavaScript>
Approfondimento
Alcuni numeri percorrono una distanza molto grande prima di giungere a 1, altri raggiungono valori molto alti prima di precipitare verso 1.
Esempio 1
La sequenza
17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
ha- distanza=12
- altezza=52

Esempio 2
La sequenza
167 -> ... -> 1
ha- distanza=67
- altezza=9232!