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

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

欧拉定理:若\(\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. # pycharm新建项目后运行按钮为灰色

    pycharm新建项目后运行按钮为灰色 第一次运行需要先为项目创建解释器,第一次可以对项目右键选中Run或者Ctrl+Shift+F10自动为项目创建解释器.或者手动Run->Edit Conf ...

  2. BugkuCTF--never give up

    这道题还挺有意思的... http://123.206.87.240:8006/test/hello.php 查看元素,有个1p.html,访问. 还没看到网页元素就跳转了...抓包! 抓到了一堆东西 ...

  3. p24 map 之 golang基础

    Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. 参考文档 https://www.liwenzhou.com/posts/Go/08_map/ package main im ...

  4. (转)MQTT 入门介绍

    原文链接:https://blog.csdn.net/qq_2887... MQTT 入门介绍 一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测 ...

  5. 13 UA池和代理池

    一. 下载中间件 框架图 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请 ...

  6. se37 函数中的异常使用

    一种是rase <exceptions> FUNCTION ztest. *"-------------------------------------------------- ...

  7. java实现RPC

    一,服务提供者 工程为battercake-provider,项目结构图如下图所示 1.1 先创建一个“卖煎饼”微服务的接口和实现类 package com.jp.service; public in ...

  8. 从FBV到CBV二(认证器)

    span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...

  9. xorm:golang的orm(只写了一小部分)

    xorm xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便.这个库是国人开发的,是基于原版 xorm:https://github.com/go-xorm/xorm 的定制 ...

  10. 如何避免学习linux必然会遇到的几个问题

    相信在看这篇文章的都是对linux系统所迷的志同道合的人,不管你是刚开始学,还是已经接触过一些linux的知识,下面的问题是你在学习linux所必须遇到的,若是没有的话那我只能说大神我服你了.下面我就 ...