Salta al contenuto principale

Un esempio di programmazione in Python è il calcolo della successione "dei Chicchi di Grandine".

Questo algoritmo chiede all'utente di inserire un numero intero. Se l'intero è pari lo dimezza e prosegue con il numero successivo fino ad arrivare al numero 1. Se è dispari lo triplica e vi aggiunge uno per poi proseguire con il numero successivo.

Misura inoltre il tempo di esecuzione.

Puo' essere testato con Python su PC, Mac, Linux e... naturalmente su Raspberry PI.

Ecco il codice:

# calcolo della successione dei chicchi di grandine
# made by Fausto
# versione 0.1
# 2016.04.04
import time

def prossimo(p_n):
    if p_n%2 == 0:
        return int(p_n/2)
    else:
        return int(3*p_n + 1)
    
print("Inserire un numero intero ")
Numero = int(input("Inserire N: "))
conta_elementi = 0
start = time.time()
while (Numero != 1):
    Numero = prossimo(Numero)
    print(str(int(Numero)))
    conta_elementi = conta_elementi + 1
stop = time.time()
print("Sono stati generati " + str(conta_elementi) + " elementi in " + str(stop-start) + " secondi")
print("Fine")

Ecco la prova:

 


 RESTART: success_chicchi_grandine.py
Inserire un numero intero
Inserire N: 4
2
1
Sono stati generati 2 elementi in 0.0049877166748046875 secondi
Fine
>>>
 RESTART: success_chicchi_grandine.py
Inserire un numero intero
Inserire N: 5
16
8
4
2
1
Sono stati generati 5 elementi in 0.011589527130126953 secondi
Fine
>>>