Module: (Python) Divisione intera e resto


Problem

8 /18


Permutazione di numeri

Theory Click to read/hide

Divisione e resto di interi

La necessità di applicare l'operazione di calcolo del resto della divisione è evidente quando si lavora con le cifre di un numero. 
 
Attività
Viene fornito un numero di tre cifre. Visualizza tutte le cifre di questo numero, a partire dalle unità, e ottieni un nuovo numero formato dalla permutazione di unità e centinaia.

Pensiamo sempre a un numero nel suo insieme, ma non dimenticare che i numeri sono composti da cifre. Come si selezionano tutte le cifre di un numero?
In effetti, tutto è risolto in modo abbastanza semplice, se ricordi la matematica. E la matematica ci dice che qualsiasi numero può essere scomposto in una somma di cifre.

Ad esempio: 365 = 3*100 + 6*10 + 5*1 .
Vediamo che ogni cifra è un moltiplicatore del termine bit corrispondente. 

Mostreremo come ottenere ogni cifra di un numero in una variabile separata usando l'esempio della divisione per una colonna per il numero 10. Prendiamo il numero 10, perché abbiamo un sistema numerico decimale e, di conseguenza, i termini bit 1, 10, 100, ecc.

  

Analizzando la figura, puoi vedere che 
e = n% 10
# operazione n % 10 - calcola l'ultima cifra del numero n
# (ovvero la cifra delle unità) 365 % 10 = 5

d = n // 10% 10
# operazione n // 10 - riduce il numero di 10 volte,
# cioè scarta l'ultima cifra del numero (365 // 10 = 36),
# ora possiamo calcolare la cifra delle decine,
# applicando l'operazione familiare al risultato -
# calcola il resto dopo aver diviso per il numero 10, 36 % 10 = 6
 
s = n // 100
# per ottenere la cifra delle centinaia basta scartare due cifre a destra del numero,
# cioè due volte diviso per 10
# (n // 10 // 10 o uguale a n // 100) 365 // 100 = 3 

Avendo le cifre del numero memorizzate nelle variabili, possiamo ricavarne qualsiasi altro numero moltiplicando la cifra desiderata per i fattori di bit appropriati (per 1, 10, 100, ecc.): 
Ad esempio, la riga seguente otterrà un nuovo numero dal numero originale n, con le centinaia e le unità riorganizzate:
1) la cifra delle unità (memorizzate nel  e)  moltiplicare per 100
2) la cifra delle decine (memorizzata nella variabile d)  moltiplicata per 10
3) possiamo semplicemente moltiplicare la cifra delle centinaia per 1, o semplicemente prendere il valore memorizzato nella variabile s.
Quindi i valori dei punti 1, 2 e 3 devono essere semplicemente aggiunti e otteniamo un nuovo numero:
n1 = e*100 + d*10 + s;

Il programma completo sarà simile a questo:
n = int(input())
e = n% 10
d = n // 10% 10
s = n // 100
print(e, d, s, e*100 + d*10 + s)

Problem

Inserimento
Un numero naturale di tre cifre viene inserito dalla tastiera.

Impressum
Genera la somma separata da spazi delle cifre del numero e il nuovo numero formato dalla permutazione di unità e decine in una riga.

 

Esempi
# Input Uscita
1 123 6 132