![]() |
|
la successione di Collatz
Per ogni numero n si costruisce una successione di numeri (detta di Collatz) in questo modo: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.
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:
![]() |
|