通过MCP连接 →

输入计算

数学公式

广告

结果

模逆元
4
满足 (a·x) mod m = 1 的 x
逆元存在
gcd(a, m) 1

什么是模逆元?

整数 a 关于模数 m 的模乘法逆元,是指满足 \((a \cdot x) \bmod m = 1\) 的整数 x。它相当于模运算中的"除法"运算,在数论、RSA 加密体制以及众多编码理论算法中都扮演着核心角色。本计算器利用扩展欧几里得算法来求出 x

数轴环绕着钟表般的圆形模数环,显示 a 乘 x 落在 1 上
模逆元 x 与 a 相乘后将 a 映回 1,在模 m 上循环回绕。

如何使用本计算器

输入数字 a 和模数 m(要求 m ≥ 2)。工具会返回位于 0 ≤ x < m 区间内的最小非负逆元 x,确认逆元是否存在,并显示 gcd(a, m) 的值。若 gcd(a, m) ≠ 1,则逆元不存在,结果显示为"None"(无)。

公式详解

只有当 \(\gcd(a, m) = 1\) 时逆元才存在,也就是 a 与 m 互质。扩展欧几里得算法会找出满足 \(a \cdot x + m \cdot y = \gcd(a, m)\) 的整数 x 和 y。当最大公约数为 1 时,将 x 对 m 取模即可得到逆元。 $$\text{a} \cdot x \equiv 1 \pmod{\text{m}} \quad\Longrightarrow\quad x = \text{a}^{-1} \bmod \text{m}$$ 如果结果为负数,则加上 m 将其归一化为正值。

Advertisement
扩展欧几里得算法步骤的扁平流程图,生成最大公约数和系数
扩展欧几里得算法给出系数,当 gcd(a, m) = 1 时即得逆元。

实例演算

求 3 关于模 11 的逆元。我们需要找出满足 \(3x \equiv 1 \pmod{11}\) 的 x。逐一试算可知, $$3 \times 4 = 12 = 11 + 1$$ 因此 \(12 \bmod 11 = 1\)。所以 x = 4。扩展欧几里得算法得出的结果完全相同,且 \(\gcd(3, 11) = 1\),证实了逆元确实存在。

常见问题

什么情况下逆元不存在? 当 a 与 m 存在大于 1 的公因数时——例如 4 关于模 6(gcd = 2)就没有逆元。

m 必须是质数吗? 不必。m 可以是任意 ≥ 2 的整数,关键只在于 a 与 m 是否互质。

答案的取值范围是多少? 逆元以最小非负余数的形式给出,取值介于 0 到 m − 1 之间。

最后更新: