Esempio 1
Le cifre di un numero minore di 100
n = int(input("n = ")) # 89
decine = n // 10 # 8
unità = n % 10 # 9
print(decine, unità)
Esempio 2
Le cifre di un numero minore di 1000
...
unità = n % 10 # 2
n = n // 10 # 89
decine = n % 10 # 9
centinaia = n // 10 # 8
print(centinaia, decine, unità)
Il resto della divisione per 10 restituisce la cifra delle unità e il quoziente della divisone intera per 10 restituisce le cifre rimanenti.
Soluzione
Stampa le cifre di un numero qualsiasi, dalla meno significativa alla più significativa
...
while(n != 0):
cifra = n % 10
print(cifra, end=" ")
#--------------------
n = n // 10
Calcoli con le cifre
Calcola la somma delle cifre
...
somma = 0
while(n != 0):
cifra = n % 10
somma += cifra
print(cifra, somma, sep="\t")
#----------------------------
n = n // 10
Calcola la somma dei quadrati delle cifre
...
somma = 0
while(n != 0):
cifra = n % 10
somma += cifra**2
print(cifra, somma, sep="\t")
#----------------------------
n = n // 10
Calcola la somma dei cubi delle cifre
???
Calcola il prodotto delle cifre
???
Radice numerica
Si calcola la somma delle cifre e si ripete l’operazione finché non si ottiene un numero minore di 10.
Il valore finale si chiama radice numerica del numero.
...
while(n >= 10):
#-----------------
somma = 0
while(n != 0):
cifra = n % 10
somma += cifra
n = n // 10
print(somma, end=" ")
#-----------------
n = somma
Prova a sommare i quadrati / cubi delle cifre
???
Radice numerica moltiplicativa
Wikipedia > Radice numerica moltiplicativa
Come la radice numerica ma le cifre si moltiplicano
...
while(n >= 10):
#-----------------
prodotto = 1
while(n != 0):
cifra = n % 10
prodotto *= cifra
n = n // 10
print(prodotto, end=" ")
#-----------------
n = prodotto
Persistenza di un numero
Wikipedia > Persistenza di un numero
Quanti passi sono necessari per arrivare a un valore fisso?
???