背景
来自一个实验
十八世纪中叶,一位英国法官约翰·威尔逊爵士,发现了数论中一种极为罕见的关系:取从1到某个质数所有连续正整数的乘积,例如从1乘到11,即11的阶乘11!。显然,11!能被从1到11的所有整数整除,除去11这个数,得10!。无疑10!不能被11整除。
然而,如果给10!加上1的话,1×2×3×4×5×6×7×8×9×10+1=3628801,怎么也不会想到,3628801却能被11整除(3628801÷11=329891)。类似地,从1到质数7的阶乘7!中略去7,再加上1,得1×2×3×4×5×6+1=721,721也能被7整除 721÷7=103
威尔逊定理:
当p为质数时,(p-1)!+1能被p整除。
威尔逊定理逆定理:
若一个数 (p-1)!+1 能被 p 整除,那么 p 为质数
计算机数论中的威尔逊定理常用形式
1、当p是质数时:(p−1)!\equiv −1\pmod p
2、当p是质数时:(p-2)!\equiv 1 \pmod p
证明
1、证明逆元等于自身的数只有1和-1
1\cdot 1 \equiv 1 \pmod p,(-1)\cdot (-1) \equiv 1 \pmod p,有且仅有这两组的逆元与本身相等。
证明:设x^2 \equiv 1 \pmod p,那么x^2 − 1 \equiv 0 \pmod p,因式分解一下,( x + 1 ) ( x − 1 ) \equiv 0 \pmod p,所以x=1或-1。
2、证明2…p-2中必然存在2个数互为逆元,即(p-2)! \equiv 1 \pmod p
然后除了这两个数之外,2…p-2中的每一个数一定有一个对应的逆元,一定不与自己相等,这一点上面证过了,而且如果把取逆元看做一个映射,这就是个双射。a \cdot a^{−1} \equiv 1 \pmod p 那么 a^{−1} \cdot a \equiv 1 \pmod p,所以 a = ( a^{−1} )^{−1} \pmod p,即这两个数互为逆元。
如果p是2,结论显然成立,如果p>2,那么p一定是个奇数,所以 2…p-2 中恰好有偶数个数,且他们两两配对后的乘积模p都是等于1的,再乘上一个1,再乘上个 p-1 ,即-1,所以( p − 1 ) ! ≡ − 1 \pmod p,当然前提是p是质数。