L’aritmetica modulare consiste nel lavorare con i resti della divisione per un intero positivo fissato, chiamato modulo. Se due numeri lasciano lo stesso resto, si comportano allo stesso modo in quel sistema modulare, ed è per questo che spesso si parla di aritmetica dell’orologio.

Su un orologio da 1212 ore, le 1313 corrispondono all’11, e 2929 ore portano nello stesso punto di 55 ore. Questo ciclo che si ripete è l’idea intuitiva alla base dell’aritmetica modulare.

Cosa significa mod nell’aritmetica modulare

Per un intero aa e un intero positivo nn, l’espressione amodna \bmod n indica il resto della divisione di aa per nn.

Esempio:

29mod12=529 \bmod 12 = 5

perché

29=122+529 = 12 \cdot 2 + 5

Il modulo è 1212, quindi aggiungere o sottrarre 1212 non cambia la posizione nel ciclo.

Cosa significa congruenza modulo nn

La congruenza è il modo formale per dire che due interi si comportano allo stesso modo modulo nn.

ab(modn)a \equiv b \pmod n

significa che aa e bb lasciano lo stesso resto quando vengono divisi per nn. Un criterio equivalente è

n(ab)n \mid (a-b)

che significa “nn divide aba-b”.

Quindi

295(mod12)29 \equiv 5 \pmod{12}

perché 295=2429 - 5 = 24, e 1212 divide 2424.

Questa distinzione è importante:

  • 29mod12=529 \bmod 12 = 5 è un’affermazione sul resto.
  • 295(mod12)29 \equiv 5 \pmod{12} è un’affermazione di congruenza.

Sono collegate, ma non sono intercambiabili.

Esempio svolto: 2929 ore dopo le 88

Supponi che adesso siano le 88 e che tu voglia sapere che ora sarà 2929 ore dopo su un orologio da 1212 ore.

Per prima cosa riduci 2929 modulo 1212:

29mod12=529 \bmod 12 = 5

Quindi aggiungere 2929 ore ha lo stesso effetto che aggiungere 55 ore:

8+298+5(mod12)8 + 29 \equiv 8 + 5 \pmod{12}

Poi

8+29131(mod12)8 + 29 \equiv 13 \equiv 1 \pmod{12}

Quindi l’orologio segna l’11.

Il passaggio chiave è la riduzione. Modulo 1212, sostituire 2929 con 55 lascia invariata la risposta e rende i calcoli più semplici.

Perché ridurre prima rende i problemi più semplici

Spesso i numeri grandi sono più facili da gestire dopo essere stati sostituiti con un numero più piccolo a essi congruente.

Per esempio, modulo 77,

1002(mod7)100 \equiv 2 \pmod 7

perché 1002=98100 - 2 = 98 è divisibile per 77. Se il problema riguarda solo i valori modulo 77, puoi lavorare con 22 invece che con 100100.

Errori comuni

Confondere uguaglianza e congruenza

295(mod12)29 \equiv 5 \pmod{12} non significa 29=529 = 5. Significa che appartengono alla stessa classe di resto modulo 1212.

Dimenticare che il modulo conta

175(mod12)17 \equiv 5 \pmod{12} è vero, ma 175(mod10)17 \equiv 5 \pmod{10} è falso. La congruenza è sempre legata a un modulo specifico.

Trattare mod come una divisione ordinaria

29mod1229 \bmod 12 è il resto 55, non il quoziente 22 e nemmeno la frazione 29/1229/12.

Supporre che % nei software segua sempre la stessa convenzione matematica

Per numeri positivi, % nei linguaggi di programmazione spesso coincide con l’idea di resto che gli studenti imparano per prima. Con i numeri negativi, però, le convenzioni possono cambiare, quindi il risultato potrebbe non coincidere con il minimo resto non negativo usato in molti corsi di matematica.

Dove si usa l’aritmetica modulare

L’aritmetica modulare compare ogni volta che i valori si ripetono in cicli: orologi, giorni della settimana, sistemi di cifre di controllo, hashing e molte parti della teoria dei numeri.

Compare anche nella crittografia, ma l’idea di base resta la stessa: i numeri vengono raggruppati in base al loro resto, e i numeri congruenti possono essere trattati come equivalenti all’interno di quel sistema.

Prova un problema simile

Che giorno della settimana sarà 100100 giorni dopo un lunedì? Poiché i giorni si ripetono modulo 77, inizia riducendo 100100 modulo 77 prima di rispondere.

Se vuoi un altro caso da confrontare, prova la tua versione in GPAI Solver e verifica se ridurre prima rende il lavoro più breve.

Hai bisogno di aiuto con un problema?

Carica la tua domanda e ottieni una soluzione verificata, passo dopo passo, in pochi secondi.

Apri GPAI Solver →