[Python] algoritmo di Collatz
Francesco Bonanno
info a francescobonanno.com
Sab 30 Apr 2011 23:03:17 CEST
Salve, qualcuno ha voglia di commentare questo tread?
Voglio risolvere l'algoritmo in oggetto con questo script...
N=input("Inserisci in intero positivo ")
A=N
alt=N
h=0
npari=0
ndisp=0
rap=0
sequenza = [A]
while A > 1:
if A % 2 == 0:
npari+=1
A/=2
else:
ndisp+=1
A*=3
A+=1
if A>alt:
alt=A
h+=1
sequenza.append (A)
rap=npari/ndisp
print "Sequenza dei numeri",
for i in sequenza:
print i,"-",
print
print "Massimo", alt
print "numero passi", h
print "numeri pari", npari
print "Numeri dispari",ndisp
print "rapporto" ,float(rap)
...ma non funziona sempre, ad esempio per valori di 8 o 16 ndisp diventa
zero con le conseguenze del caso.
dove sbaglio?
Franky
Maggiori informazioni sulla lista
Python