You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何证明自然数n>1是素数当且仅当n整除(n-2)!-1?

嘿,这个问题其实和经典的威尔逊定理直接挂钩,咱们拆成「当」和「仅当」两个方向一步步推导,思路就清晰了:

必要性证明:若n是素数,则n | (n-2)! - 1

首先回忆威尔逊定理:对于素数p,有(p-1)! ≡ -1 mod p(也就是p整除(p-1)! + 1)。

现在假设n是素数p,我们可以把(p-1)!拆成(p-1)×(p-2)!,代入威尔逊定理的式子:
(p-1)×(p-2)! ≡ -1 mod p
注意到p是素数时,p-1 ≡ -1 mod p(因为p-1 = p - 1,模p就是-1),所以上面的式子可以替换成:
(-1)×(p-2)! ≡ -1 mod p
两边同时乘以-1,就得到:
(p-2)! ≡ 1 mod p
这等价于p整除(p-2)! - 1,也就是n整除(n-2)! - 1,必要性得证。

充分性证明:若n | (n-2)! - 1,则n是素数

这里咱们用反证法:假设n是大于1的合数,看看会不会导出矛盾。

首先分两种情况讨论:

  • 情况1:n=4
    计算(n-2)! = 2! = 2,2-1=1,显然4不整除1,这和「n | (n-2)! -1」的前提矛盾,所以n=4不满足条件。
  • 情况2:n是大于4的合数
    既然n是合数,那它必然存在一个正因数d,满足1 < d < n。而且因为n>4,这个d一定小于等于n/2,所以d ≤ n-2(比如n=6时d=2≤4,n=9时d=3≤7)。
    这意味着d是(n-2)!的一个因数(因为(n-2)!是从1乘到n-2,包含d这个数),所以d | (n-2)!。
    但根据前提,(n-2)! ≡ 1 mod n,这意味着(n-2)! = k×n + 1,所以d | (k×n + 1)。又因为d | n,所以d | 1,这和d>1矛盾。

两种合数情况都导出了矛盾,所以假设不成立,n必须是素数,充分性得证。

这样两个方向都证明完了,就得到了「n>1时,n是素数当且仅当n整除(n-2)!-1」的结论。

内容的提问来源于stack exchange,提问作者Zhenqing Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:22:55