费马小定理的证明方法有很多种,有集合法、二项式定理法……
这里记录下集合证法,强化下记忆:
命题:若 p 为质数,则 ap−1≡1(modp)
设集合 T1{1,2,3,…,p−1} 这 p−1 个数,他们的积为 (p−1)!(modp)
将这个集合的每一个元素都乘以 a,得到一个新集合:T2{a,2a,3a,…,(p−1)a} (时刻记住在 (modp) 的意义下)
那么 T2 的乘积就是 (p−1)!×ap−1(modp) ,如果 ∏T2≡∏T1(modp),则费马小定理成立。
我们需要先证明两个集合相等
那么我们首先证明 T2 中的数两两不同:
反证:如果这些数中有两个相同,得 k1a≡k2a(modp),其中 k1,k2∈T1∧k1≠k2,那么式子可以化为 k1a−k2a≡0(modp),a(k1−k2)≡0(modp),因为 a 与 p 互质,所以 k1−k2 是 p 的倍数,可是 k1,k2 都是小于 p 的正整数,相减不会大于 p,故不成立!得出,T2 中数字两两相同。
又,在模 p 意义下,数字个数都有 p−1 个,且数字两两不同,故 T1=T2
则 ∏T1≡∏T2(modp)
得 (p−1)!≡ap−1×(p−1)!(modp)
两边去掉阶乘,费马小定理得证。
很好的学习资料:https://www.luogu.com.cn/blog/command-block/tong-yu-xi1
这个证法其实也可以扩展成证明欧拉定理的方法。也可以先证出欧拉定理,然后一步证出费马小定理。
欧拉定理:aφ(p)≡1(modp)
这个 φ(p) 表示与 p 互质的数的个数,φ、ϕ、Φ 都是一个意思。
那么显然,p为质数的时候,φ(p)=p−1,一步得出费马小定理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现