Zₘ
Calculateur Modulo & Inverse Modulaire
CatégorieNiveau

Calculateur Modulo & Inverse Modulaire

Calculateur d'arithmétique modulaire pour résoudre équations de congruence, inverses et puissances. Algorithme d'Euclide pas à pas et cadran d'horloge.

Exemples prédéfinis
Régime canonique
Base de numération
Nombre composéPremiers entre eux
Simulations et cas limites

Description de l'objectif

Résultat principal
5
0 ≤ r < m
Division euclidienne : a = q · m + r
6
a = q·m + r
Résultat du PGCD
1
Premiers entre eux
Inverse modulaire
19
a · a⁻¹ ≡ 1 mod m
Vérification euclidienne (a = q × m + r)
19=(6)×24+5
Tableau d'Euclide étendu (EEA)gcd = 1
ÉtapeDividendeDiviseurQuotientResteCoeff. Bézout sCoeff. Bézout t
124191510
219534-11
354114-3
44140-54
Identité de Bézout
19 × (-5) + 24 × (4) = 1
Relation d'inverse modulaire 19⁻¹ ≡ 19 (mod 24)
Sortie LaTeX
19 + 130 \equiv 5 \pmod{24}
Titre de la statistique 1
Valeur de la statistique 1

Description de la statistique 1

Titre de la statistique 2
Valeur de la statistique 2

Description de la statistique 2

Titre de la statistique 3
Valeur de la statistique 3

Description de la statistique 3

Référence technique et guide d'architecture

Calculateur Modulo & Inverse Modulaire — Guide de référence

Calculateur d'arithmétique modulaire pour résoudre équations modulo, inverses, puissances et congruences. Algorithme d'Euclide étendu et arithmétique de l'horloge pas à pas.

Calculateur Modulo & Inverse Modulaire — Guide de référence — Architecture en mémoire côté client et flux de données
Calculateur Modulo & Inverse Modulaire — Guide de référence — Architecture en mémoire côté client et flux de données

Paramètres clés et contrôles

Dividende / Base (a)BigInt à précision arbitraire

Opérande entier principal soumis à la division ou à l'exponentiation. Peut être positif, négatif ou nul, traité via BigInt sans perte de précision 64 bits IEEE 754.

Par défaut : 42
Module (m)BigInt strictement positif

Diviseur entier positif définissant l'anneau des résidus finis Z/mZ. Doit être strictement supérieur à 0 ; les modules m >= 2 forment des anneaux et les modules premiers forment des corps finis GF(p).

Par défaut : 2017
Reste canonique du modulo (r)Entier de reste (0 <= r < m)

Reste uniquement déterminé vérifiant a = q * m + r avec 0 <= r < m selon la division euclidienne mathématique standard.

Par défaut : 1
Inverse multiplicatif (a^-1 mod m)Classe de reste de congruence

Entier x vérifiant (a * x) ≡ 1 (mod m). Existe si et seulement si pgcd(a, m) = 1 (premiers entre eux) ; calculé via l'algorithme d'Euclide étendu.

Par défaut : 816
Indicatrice d'Euler φ(m)Invariant d'anneau entier

Nombre d'entiers positifs inférieurs ou égaux à m qui sont premiers avec m. En arithmétique modulaire, a^φ(m) ≡ 1 (mod m) pour tout pgcd(a, m) = 1 (théorème d'Euler).

Par défaut : 2016

Conseils de pro et bonnes pratiques

Écart de calcul du modulo négatif selon les langages

En C, C++ et JavaScript, l'opérateur % est un opérateur de reste qui conserve le signe du dividende (ex. -7 % 5 = -2). En mathématiques discrètes et en Python, le modulo est euclidien ou basé sur la partie entière inférieure (floor), garantissant toujours 0 <= r < m (ex. -7 mod 5 = 3). Pour assurer la rigueur mathématique en JavaScript, normalisez systématiquement avec ((n % m) + m) % m.

La division modulaire exige des entiers premiers entre eux

On ne peut pas diviser par un entier b en arithmétique modulaire en calculant a / b mod m. La division modulaire (a / b) mod m est définie par (a * b^-1) mod m, qui n'existe que si pgcd(b, m) = 1. Si pgcd(b, m) > 1, la division est indéterminée, même si b divise exactement a en arithmétique usuelle.

L'exponentiation binaire évite les dépassements de mémoire

Ne calculez jamais (a^b) mod m en évaluant a^b dans sa totalité avant d'appliquer le modulo. Même des puissances modérées comme 3^1000 comportent des centaines de chiffres et saturent la pile mémoire. Utilisez toujours l'exponentiation rapide par carrés et multiplications, en réduisant modulo m à chaque étape intermédiaire pour conserver des nombres inférieurs à m^2.

Congruences linéaires à solutions multiples

Lors de la résolution de a * x ≡ b (mod m), si d = pgcd(a, m) > 1 et que d divise b, il n'existe pas une seule solution, mais exactement d solutions incongrues distinctes modulo m, séparées précisément par un intervalle de m / d.

Pièges courants et dépannage

⚠️L'inverse modulaire n'existe pas (Erreur : pgcd(a, m) != 1)

Vérifiez le plus grand commun diviseur (PGCD) entre l'opérande a et le module m. L'inverse multiplicatif modulaire a^-1 mod m existe si et seulement si pgcd(a, m) = 1. Si pgcd(a, m) = d > 1, a et m partagent un facteur premier commun, rendant a * x toujours multiple de d, ce qui ne peut jamais être congru à 1 mod m.

⚠️Écart de modulo négatif (-7 mod 5 renvoie -2 au lieu de 3)

Basculez le sélecteur de régime de modulo de « Tronqué informatique » à « Mathématique non négatif ». Les langages de programmation tronquent la division vers zéro, alors que les mathématiques discrètes exigent 0 <= r < m. Notre calculateur évalue automatiquement ((n % m) + m) % m en mode canonique.

⚠️Le module doit être strictement supérieur à zéro

La division par zéro ou le modulo zéro est indéfinie en mathématiques, car aucun quotient unique q n'existe tel que a = q * 0 + r. Veillez à ce que votre module m soit un entier strictement supérieur ou égal à 1 (ou >= 2 pour les anneaux non triviaux).

⚠️Le système du théorème des restes chinois n'a pas de solution

Le théorème des restes chinois (CRT) impose que tous les modules m_1, m_2, ..., m_k soient premiers entre eux deux à deux (pgcd(m_i, m_j) = 1 pour tout i != j). Si deux modules ont des facteurs communs, vérifiez la cohérence mutuelle des congruences simultanées via le théorème des restes chinois généralisé ; à défaut, aucune solution entière n'existe.

Foire aux questions (FAQ)

Comment calculer le modulo d'un nombre négatif ?▼

Pour calculer le modulo mathématique d'un nombre négatif n mod m, appliquez la formule euclidienne r = ((n % m) + m) % m. Par exemple, pour -17 mod 5, diviser -17 par 5 donne un quotient de -4 et un reste de 3, car -4 * 5 + 3 = -17. Alors que des langages comme le C++ ou le JavaScript retournent -2 en raison de la division tronquée vers zéro, les mathématiques discrètes définissent le reste comme strictement positif ou nul : 0 <= r < m.

Qu'est-ce qu'un inverse multiplicatif modulaire et quand existe-t-il ?▼

L'inverse multiplicatif modulaire d'un entier a modulo m est un entier x vérifiant (a * x) ≡ 1 (mod m). Il existe si et seulement si a et m sont premiers entre eux, c'est-à-dire pgcd(a, m) = 1. Dans ce cas, l'algorithme d'Euclide étendu calcule les coefficients entiers x et y tels que a * x + m * y = 1 ; le coefficient x réduit modulo m constitue l'unique inverse modulaire.

Quelle est la différence entre l'opérateur modulo et l'opérateur de reste ?▼

La différence réside dans l'arrondi appliqué à la division entière : les opérateurs de reste (comme % en C, C++ et JavaScript) tronquent le quotient vers zéro (trunc(a / m)), produisant un reste négatif lorsque le dividende est négatif. L'opérateur modulo mathématique utilise la partie entière par défaut vers l'infini négatif (floor(a / m)), assurant un reste toujours positif ou nul compris dans l'intervalle 0 <= r < m.

Comment résoudre une équation de congruence linéaire étape par étape ?▼

Pour résoudre a * x ≡ b (mod m), commencez par calculer d = pgcd(a, m). Si d ne divise pas b, aucune solution n'existe. Si d divise b, divisez l'ensemble de l'équation par d pour obtenir (a/d) * x ≡ (b/d) (mod m/d). Trouvez ensuite l'inverse modulaire k = (a/d)^-1 mod (m/d) grâce à l'algorithme d'Euclide étendu. La solution principale est x_0 = (k * (b/d)) mod (m/d), et l'ensemble des d solutions distinctes modulo m est donné par x_i = x_0 + i * (m / d) pour i = 0, 1, ..., d - 1.

Outils et utilitaires connexes

Tous les outils →
Calculateur TRS (OEE) & EfficienceUtilitaire

Calculez instantanément votre Taux de Rendement Synthétique (TRS / OEE). Évaluez la disponibilité, la performance et la qualité, ciblez les 6 grandes pertes et optimisez vos cadences de production.

Ouvrir l'outil→
Calculateur Pare-Vapeur Vide SanitaireUtilitaire

Calculez la surface de pare-vapeur pour vide sanitaire, rouleaux, adhésifs, butyle et plots. Conforme DTU / IRC R408.3, calepinage et coûts.

Ouvrir l'outil→
Calcul force & vérin hydrauliqueengineering

Calculez en temps réel les forces de poussée et de traction d'un vérin hydraulique, la section annulaire, la vitesse de course, le temps de cycle, la puissance moteur et le flambement d'Euler de la tige.

Ouvrir l'outil→
Calculateur Magic Number & Payback CACfinance

Calculateur SaaS pour le Magic Number, le Payback CAC et l'efficacité commerciale. Intègre l'ajustement sur marge brute, le décalage temporel S&M, l'analyse d'objectif cible et la matrice de sensibilité selon les référentiels Bessemer et Scale Venture Partners.

Ouvrir l'outil→
Calcul courroie trapézoïdale & entraxeengineering

Calculez la longueur primitive, intérieure et extérieure de courroie trapézoïdale, l'entraxe et l'angle d'enroulement, avec ajustement aux normes ISO et RMA.

Ouvrir l'outil→
Calcul de tension de câble & élingageUtilitaire

Calculateur d'ingénierie pour la tension des câbles d'acier, le rendement de mouflage de grue, les efforts d'élingage multipattes, les poulies de renvoi et la flèche des haubans. Conforme aux normes EN 12385, ASME B30.5, ASME B30.9 et OSHA 1926.1414 avec réduction dynamique D/d et calcul de coefficient de sécurité.

Ouvrir l'outil→