% Calculateur Modulo

Calcul du reste de division (opération modulo)

a mod n

mod

Le Modulo : Définition et Applications

L'opération modulo (notée mod ou %) calcule le reste de la division euclidienne. C'est une opération fondamentale en arithmétique modulaire.

📐 Définition

a mod n = r

où r est le reste de la division de a par n
0 ≤ r < n

Relation : a = q × n + r
• a = dividende
• n = diviseur (ou module)
• q = quotient
• r = reste (résultat du modulo)

🔢 Exemples

Opération Calcul Résultat
17 mod 5 17 = 3 × 5 + 2 2
25 mod 7 25 = 3 × 7 + 4 4
100 mod 10 100 = 10 × 10 + 0 0
13 mod 13 13 = 1 × 13 + 0 0
7 mod 12 7 = 0 × 12 + 7 7

⚡ Propriétés

Propriété Formule
Addition (a + b) mod n = [(a mod n) + (b mod n)] mod n
Soustraction (a - b) mod n = [(a mod n) - (b mod n)] mod n
Multiplication (a × b) mod n = [(a mod n) × (b mod n)] mod n
Puissance a^k mod n peut être calculé efficacement
Distributivité a mod n toujours entre 0 et n-1

💡 Applications Pratiques

🔐 Modulo en Cryptographie

Le chiffrement RSA repose sur l'arithmétique modulaire. Le principe :

Chiffrement : c = m^e mod n
Déchiffrement : m = c^d mod n

où :
• m = message
• c = message chiffré
• e = exposant public
• d = exposant privé
• n = module (produit de deux grands nombres premiers)

🕐 Modulo et Horloges

Horloge 12 heures :
15h → 15 mod 12 = 3h (après-midi)
20h → 20 mod 12 = 8h (soir)

Jours de la semaine :
Jour 10 → 10 mod 7 = 3 (mercredi si lundi = 0)
Jour 100 → 100 mod 7 = 2 (mardi)

💻 Modulo en Programmation

Langage Opérateur Exemple
Python % 17 % 5 → 2
JavaScript % 17 % 5 → 2
Java % 17 % 5 → 2
C/C++ % 17 % 5 → 2
SQL MOD() MOD(17, 5) → 2

🎯 Cas d'Usage Courants

Usage Exemple
Nombre pair/impair n mod 2 = 0 → pair, = 1 → impair
Divisibilité a mod n = 0 ⟺ n divise a
Dernier chiffre n mod 10 = dernier chiffre
Tableau circulaire index mod taille
Hash function hash(key) mod table_size

⚠️ Nombres Négatifs

Attention : le comportement du modulo avec des nombres négatifs varie selon les langages.

Convention mathématique :
-17 mod 5 = 3 (résultat toujours positif)

Certains langages (C, Java) :
-17 % 5 = -2 (même signe que le dividende)

Python, Ruby :
-17 % 5 = 3 (même signe que le diviseur)