INDIETRO
 Laboratorio 2
AVANTI

la successione di Collatz

Per ogni numero n si costruisce una successione di numeri (detta di Collatz) in questo modo:

se n=1 la successione termina.
se n è pari, il numero successivo è n/2.
se n è dispari diverso da uno, il numero successivo è 3*n+1.

La congettura di Collatz è che partendo da qualsiasi numero si arriva sempre a 1, ed è ancora aperta.

Con matlab potete creare una function che dato n restituisca il vettore con la successione voluta, ma ovviamente le cose funzionano bene fino a quando si riesce a lavorare con l'aritmetica degli interi.
Contanto le lunghezze die vettori ottenuti si fa facilmente il grafico a barre dei passi necessari per arrivare a 1 a partire dei vari numeri interi.

help:collatz.m

Con maple la costruzione della successione di Collatz ci permette di esplorare vari comandi utili:

Le 3 righe che servono a creare la successione sono semplicemente:

f:=x->piecewise(x=1,1,type(x,even),x/2,type(x,odd),3*x+1);
x:=numero;
k:=0: while x>1 do x:=f(x): k:=k+1: printf("%d %d\n",k,x) end do:

 


INDIETRO
Laboratorio Didattico di Matematica Computazionale - Sergio Steffè - AA 2017/2018 - PISA
AVANTI