本证明参考了李煜东老师《算法竞赛进阶指南》.

我们首先证明欧拉定理,然后推导出费马小定理.

欧拉定理:若\(\gcd(a,n)=1,a,n\in \mathbb{Z}\),则\(a^{\phi(n)}\equiv 1 \pmod{n}\).其中\(\phi(n)\)为欧拉函数.

设n的简化剩余系为\(\{\overline{d_1},\overline{d_2},\dots,\overline{d_{\phi(n)}}\}\).

由定义,设\(d_1,d_2,\dots,d_{\phi(n)}\)是\(\phi(n)\)个和n互质的,小于n的正整数.即:\(\gcd(n,d_i)=1,i=1,2,...,\phi(n)\).

由于gcd是积性函数,我们有:\(\gcd(n,\prod\limits_{i=1}^{\phi(n)}{d_i})=1\).

若\(ad_i\equiv ad_j \pmod{n}\),则由a,n互质,我们直接得到:\(d_i\equiv d_j \pmod{n}\).

互为逆否命题的命题具有相同真假性.我们有:\(d_i \not \equiv d_j \pmod{n} \implies ad_i \not\equiv ad_j \pmod{n}\)

从剩余系的角度来讲,简化剩余系关于模\(n\)乘法封闭,故\(\overline{ad_i}\)也在简化剩余系中.由于\(\forall i\neq j,d_i \neq d_j\),集合\(\{\overline{d_i}\}\)和\(\{\overline{ad_i}\}\)均能表示\(n\)的简化剩余系,\(i=1,2,\dots,\phi(n)\).这里的意思是\(\forall i=1,2,...,\phi(n), \exists j=1,2,..,\phi(n) , ad_i \equiv d_j \pmod{n}\).

我们可以写出以下式子:\[a^{\phi(n)}\cdot \prod\limits_{i=1}^{\phi(n)}d_i \equiv \prod\limits_{i=1}^{\phi(n)}ad_i\equiv \prod\limits_{i=1}^{\phi(n)}d_i \pmod{n}\]

由于\(\gcd(n,\prod\limits_{i=1}^{\phi(n)}d_i)=1\),消去之得到:\[a^{\phi(n)}\equiv 1 \pmod{n}\]

稍微注意一下\(\prod\limits_{i=1}^{\phi(n)}ad_i\equiv \prod\limits_{i=1}^{\phi(n)}d_i \pmod{n}\)这个代换.这里相当于是左右两边\(d_i\)相乘的顺序不同,但最终的乘积结果相同.原因在上面已经提到了.


当\(n\)是质数时,\(\phi(n)=n-1\).此时有:\[a^{\phi(n)}\equiv a^{n-1} \equiv 1 \pmod{n}\]
证毕.

Fermat小定理的证明的更多相关文章

  1. Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )

    题意 : 给出数 x (1 ≤ x ≤ 10^12 ),要求求出所有满足 1 ≤ n ≤ x 的 n 有多少个是满足 n*a^n  = b ( mod p ) 分析 : 首先 x 的范围太大了,所以使 ...

  2. 费马小定理 Fermat Theory

    w 整数的质数次方和自身的差是是质数的倍数 费马小定理(Fermat Theory)是数论中的一个重要定理,其内容为: 假如p是质数,且Gcd(a,p)=1,那么 a(p-1)≡1(mod p).即: ...

  3. 费马小定理证明 (copy的,自己捋清楚)

    费马小定理:假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 证明(copy的百度百科,加点自己的解释) 引理1. 若a,b,c为任意3个整数,m为正整数,且(m,c)=1 ...

  4. 【初等数论】费马小定理&欧拉定理&扩展欧拉定理(暂不含证明)

    (不会证明--以后再说) 费马小定理 对于任意\(a,p \in N_+\),有 \(a^{p-1} \equiv 1\pmod {p}\) 推论: \(a^{-1} \equiv a^{p-2} \ ...

  5. 逆元 exgcd 费马小定理 中国剩余定理的理解和证明

    一.除法取模逆元 如果我们要通过一个前面取过模的式子递推出其他要取模的式子,而递推式里又存在除法 那么一个很尴尬的事情出现了,假如a[i-1]=100%31=7 a[i]=(a[i-1]/2)%31 ...

  6. 数论初步(费马小定理) - Happy 2004

    Description Consider a positive integer X,and let S be the sum of all positive integer divisors of 2 ...

  7. CodeForces 300C Beautiful Numbers(乘法逆元/费马小定理+组合数公式+高速幂)

    C. Beautiful Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  8. 学习:费马小定理 & 欧拉定理

    费马小定理 描述 若\(p\)为素数,\(a\in Z\),则有\(a^p\equiv a\pmod p\).如果\(p\nmid a\),则有\(a^{p-1}\equiv 1\pmod p\). ...

  9. HDU 5651 计算回文串个数问题(有重复的全排列、乘法逆元、费马小定理)

    原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 很容易看出来的是,如果一个字符串中,多于一个字母出现奇数次,则该字符串无法形成回文串,因为不能删减 ...

随机推荐

  1. 【0.2】【MySQL】常用监控指标及监控方法(转)

    [MySQL]常用监控指标及监控方法 转自:https://www.cnblogs.com/wwcom123/p/10759494.html  对之前生产中使用过的MySQL数据库监控指标做个小结. ...

  2. IOS订阅优惠-PHP生成ECDSA算法签名

    <?php use Ramsey\Uuid\Uuid; class ItunesSignatureGenerator { private $appBundleID = 'www.u17.com' ...

  3. GitHub从小白到熟悉<六>

    复制或 克隆 项目 

  4. Python 入门 之 初识面向对象

    Python 入门 之 初识面向对象 1.初识面向对象编程 (核心--对象) (1)观察以下代码: # 面向过程编程 s = "alexdsb" count = 0 for i i ...

  5. python_0基础开始_day10

    第十节 一.函数进阶 动态参数 *a r g s —— 聚合位置参数,动态位置参数 默认返回的是tuple元组 def eat(*args):  # 函数的定义阶段 *聚合(打包)    print( ...

  6. Codeforces 1190A. Tokitsukaze and Discard Items

    传送门 显然从左到右考虑每个要删除的数 维护一个 $cnt$ 表示之前已经删除了 $cnt$ 个数,那么当前所有要删除数的实际位置就要减去 $cnt$ 直接暴力枚举哪些数在最左边一个块然后一起删除 每 ...

  7. 最简单的方式实现rem布局

    加上如下js,px转换成rem需要手动,计算方式:量的大小除以100,就等于rem,例如:量的设计稿元素宽度是120,那么就写成{width: 1.2rem},这样写有什么问题,待研究,也欢迎补充 & ...

  8. leetcode240 搜索二维矩阵 II

    题目: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 ma ...

  9. Delphi ComboBox组件

  10. Beacon

    1.Beacon技术指的是通过使用低功耗蓝牙技术(Bluetooth Low Energy,也就是Bluetooth 4.0或者Bluetooth Smart),Beacon基站便可以自动创建一个信号 ...