Fermat小定理的证明
本证明参考了李煜东老师《算法竞赛进阶指南》.
我们首先证明欧拉定理,然后推导出费马小定理.
欧拉定理:若\(\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小定理的证明的更多相关文章
- Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )
题意 : 给出数 x (1 ≤ x ≤ 10^12 ),要求求出所有满足 1 ≤ n ≤ x 的 n 有多少个是满足 n*a^n = b ( mod p ) 分析 : 首先 x 的范围太大了,所以使 ...
- 费马小定理 Fermat Theory
w 整数的质数次方和自身的差是是质数的倍数 费马小定理(Fermat Theory)是数论中的一个重要定理,其内容为: 假如p是质数,且Gcd(a,p)=1,那么 a(p-1)≡1(mod p).即: ...
- 费马小定理证明 (copy的,自己捋清楚)
费马小定理:假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 证明(copy的百度百科,加点自己的解释) 引理1. 若a,b,c为任意3个整数,m为正整数,且(m,c)=1 ...
- 【初等数论】费马小定理&欧拉定理&扩展欧拉定理(暂不含证明)
(不会证明--以后再说) 费马小定理 对于任意\(a,p \in N_+\),有 \(a^{p-1} \equiv 1\pmod {p}\) 推论: \(a^{-1} \equiv a^{p-2} \ ...
- 逆元 exgcd 费马小定理 中国剩余定理的理解和证明
一.除法取模逆元 如果我们要通过一个前面取过模的式子递推出其他要取模的式子,而递推式里又存在除法 那么一个很尴尬的事情出现了,假如a[i-1]=100%31=7 a[i]=(a[i-1]/2)%31 ...
- 数论初步(费马小定理) - Happy 2004
Description Consider a positive integer X,and let S be the sum of all positive integer divisors of 2 ...
- CodeForces 300C Beautiful Numbers(乘法逆元/费马小定理+组合数公式+高速幂)
C. Beautiful Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- 学习:费马小定理 & 欧拉定理
费马小定理 描述 若\(p\)为素数,\(a\in Z\),则有\(a^p\equiv a\pmod p\).如果\(p\nmid a\),则有\(a^{p-1}\equiv 1\pmod p\). ...
- HDU 5651 计算回文串个数问题(有重复的全排列、乘法逆元、费马小定理)
原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 很容易看出来的是,如果一个字符串中,多于一个字母出现奇数次,则该字符串无法形成回文串,因为不能删减 ...
随机推荐
- # pycharm新建项目后运行按钮为灰色
pycharm新建项目后运行按钮为灰色 第一次运行需要先为项目创建解释器,第一次可以对项目右键选中Run或者Ctrl+Shift+F10自动为项目创建解释器.或者手动Run->Edit Conf ...
- BugkuCTF--never give up
这道题还挺有意思的... http://123.206.87.240:8006/test/hello.php 查看元素,有个1p.html,访问. 还没看到网页元素就跳转了...抓包! 抓到了一堆东西 ...
- p24 map 之 golang基础
Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现. 参考文档 https://www.liwenzhou.com/posts/Go/08_map/ package main im ...
- (转)MQTT 入门介绍
原文链接:https://blog.csdn.net/qq_2887... MQTT 入门介绍 一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测 ...
- 13 UA池和代理池
一. 下载中间件 框架图 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请 ...
- se37 函数中的异常使用
一种是rase <exceptions> FUNCTION ztest. *"-------------------------------------------------- ...
- java实现RPC
一,服务提供者 工程为battercake-provider,项目结构图如下图所示 1.1 先创建一个“卖煎饼”微服务的接口和实现类 package com.jp.service; public in ...
- 从FBV到CBV二(认证器)
span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...
- xorm:golang的orm(只写了一小部分)
xorm xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便.这个库是国人开发的,是基于原版 xorm:https://github.com/go-xorm/xorm 的定制 ...
- 如何避免学习linux必然会遇到的几个问题
相信在看这篇文章的都是对linux系统所迷的志同道合的人,不管你是刚开始学,还是已经接触过一些linux的知识,下面的问题是你在学习linux所必须遇到的,若是没有的话那我只能说大神我服你了.下面我就 ...