Come usare l'aritmetica modulare in Python

Nel linguaggio Python posso lavorare con l'aritmetica modulare semplicemente usando l'operatore resto % ( mod ).

n%k

Dove n è un numero intero qualsiasi mentre k è la cardinalità del gruppo.

Cos'è l'aritmetica modulare

Nell'aritmetica modulare quando i numeri oltrepassano un numero n, il conteggio riparte da zero come in un orologio.

un esempio di aritmetica modulare

Per questa ragione l'aritmetica modulare è anche detta aritmetica dell'orologio.

E' particolarmente utile nella crittografia.

Un esempio pratico

Ho un gruppo con cinque simboli (0,1,2,3,4) rispetto all'addizione.

Quindi, la serie di numeri dovrebbe essere

$$ 0,1,2,3,4,0,1,2,3,4,0,... $$

Se scrivo 4+3 il risultato è 2 perché la serie ( 4,0,1,2) ricomincia daccapo dopo 4.

$$ 4+3 = 2 $$

Come faccio a fare in modo che 4+3 dia 2 e non 7?

E' molto semplice, devo soltanto scrivere.

>>> (4+3)%5
2

Questa operazione non fa altro che calcolare il resto della divisione "sette diviso cinque".

il resto della divisione

Allo stesso modo posso calcolare tutta la serie.

Con un semplice ciclo stampo tutti i numeri della serie da 0 a 20 nell'addizione modulo 5.

for i in range(0,20):
print(i,"=", i%5)

Il risultato è

0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 0
6 = 1
7 = 2
8 = 3
9 = 4
10 = 0
11 = 1
12 = 2
13 = 3
14 = 4
15 = 0
16 = 1
17 = 2
18 = 3
19 = 4

E così via.

 

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base
  1. Il linguaggio Python
  2. Come installare Python sul PC
  3. Come scrivere un programma in Python
  4. Come usare Python in modalità interattiva
  5. Le variabili
  6. I numeri
  7. Gli operatori logici
  8. Le strutture iterative ( o cicli )
  9. Le strutture condizionali
  10. Le eccezioni
  11. I file in python
  12. Le classi
  13. I moduli