什么是费马小定理?
费马小定理是数论中的基石之一。它指出:如果 p 是素数,且整数 a 不能被 p 整除(即 \(\gcd(a, p) = 1\)),那么 a 的 (p − 1) 次方除以 p 的余数恒为 1。用符号表示就是:\(a^{p-1} \equiv 1 \pmod{p}\)。它还有一个对任意整数 a 都成立的更一般形式:\(a^{p} \equiv a \pmod{p}\)。
如何使用本计算器
输入底数 a 和数值 p。计算器会先判断 p 是否为素数,再求出 \(\gcd(a, p)\),并利用快速模幂算法同时算出 \(a^{p-1} \bmod p\) 与 \(a^{p} \bmod p\)。当 p 为素数且 \(\gcd(a, p) = 1\) 时,第一个结果必定为 1,从而验证该定理成立。如果不满足这两个条件,\(a^{p-1}\) 的结果会显示为「n/a」,因为此时定理并不保证结果等于 1。
公式详解
模幂运算通过对底数反复平方并不断对 p 取模来求值,因此即使指数非常大,计算量也能保持在可控范围内。这一定理是众多应用的理论基础:素性检验(费马检验)、RSA 加密中的密钥运算,以及求模逆元——因为当 p 为素数时,\(a^{p-2} \bmod p\) 正是 a 关于模 p 的逆元。
实例演算
设 \(a = 2\),\(p = 7\)。由于 7 是素数且 \(\gcd(2, 7) = 1\),我们预期 $$2^{6} \bmod 7 = 64 \bmod 7 = 1.$$ ✔ 一般形式则给出 $$2^{7} \bmod 7 = 128 \bmod 7 = 2,$$ 恰好等于 \(a \bmod 7 = 2\)。✔
常见问题
如果 p 不是素数会怎样? 此时定理可能不成立。计算器会标注 p 为非素数,只有一般形式 \(a^{p} \bmod p\) 的结果有意义,但它不一定等于 a。
如果 a 是 p 的倍数会怎样? 那么 \(\gcd(a, p) \neq 1\),所以 \(a^{p-1} \bmod p\) 不会等于 1(实际为 0)。不过一般形式 \(a^{p} \equiv a\) 依然成立。
可以用它来求模逆元吗? 可以。对于素数 p,\(a^{p-2} \bmod p\) 就是 a 关于模 p 的乘法逆元。