费马小定理和欧拉定理
定理1:
p为素数,任取1<a<p,对所有的1<i<p,计算a*i modp,所得到的数是1-p-1之间所有整数的一次置换
即
S={a*i mod p,1<i<p}
与
S={1,2,3,....p-1}等价
在定理中要求1<a<p这与要求a mod p!=0并不相同,后者的意思是a不能整除p但是a可以比p大,而前者只是后者的一部分;可以说两者是包含关系;
证明思路:
假设存在两个不同的数满足定理,容易知道a与p的gcd为1,可以使用消去律,得到是一个矛盾的结果所以不满足
费尔马小定理
假设p为素数,设a为任意数,则(a^(p-1)-1)mod p=k;
常用来计算a^n (mod p);
eg 3^2018(mod 17)=3^2(mod 17)=9;
定理1成立的条件是a与p互素,如果不满足这个条件其实是不成立的
欧拉定理
设a和n为正整数,gcd(a,n)=1,则(a^φ(n)-1)modp=k;
定理2:欧拉phi函数
(返回1<b<n中与p互为素数的个数)
φ(n)={b:1<b<n且gcd(b,n)=1}
性质φ
(1)如果p是素数,则φ(p)=p-1;
φ(p^k)=p^k-p^(k-1);(与p不互素,其实就是p的倍数,p,2p,3p...p^(k-1)*p;)
定理3:
如果gcd(a,n)=1,且gcd(a,m)=1则gcd(a,mn)=1
定理4:
欧拉phi函数公式(积性函数)
设m和n是互素的正整数,则φ(mn)=φ(m)*φ(n);
推论1:
m=素数指数的乘积;
φ(m)=分别素数指数的乘积的phi函数相乘
推论2:
m=素数指数的乘积;
φ(m)=m*分别(1-素数指数的底的倒数)的相乘
习题:
1.设p=23,a=3使用费马小定理计算a^2019mod p?
2019=22*91+17;
3^2019mod 23=3^17mod23;
3^3mod23=4;
3^6mod23=4*4mod 23=16;
3^8mod23=4=9*4*4mod 23=6;
3^16mod23=6*6mod 23=13;
3^17mod 23=3*13mod 23=16;
2使用费尔马小定理求解同余方程(x^50-2)mod 17=k;
50=17*2+16;
原式=(x^16-2)mod17
所以
x=2^(1/16)mod 17;
3请证明13整除2^70+3^70;
证明:
2^70mod13,
由费尔马小定理得
(1)2^70mod 3=2^(12*5+10)mod13=2^10mod13=10
(2)3^70mod13=3^(12*5+10)mod13=3^10mod13=3
所以
(1)+(2)=13,即可被13整除
因此得以证明;
4使用欧拉定理计算2^100000mod 55;
φ(55)=40;
所以(2^40-1)mod p=k;
100000=40*2500;
所以2^100000mod 55=2^0mod55=1;
5 手动计算7^1000的最后两个数位是什么?
假设只取小数点左两位
7^1=07, 7^2=49, 7^3=43, 7^4=01
7^5=07, 7^6=49, 7^7=43, 7^8=01;
...
由此可以找出规律
4个为一周期
1000=4*250;
所以7^1000的最后两位为01;
6设p为素数,计算(p-1)!modp并找出规律,写成定理,并给出证明
p=2
(p-1)!modp= 1mod 2=1;
p=3
(p-1)!modp= 1*2mod 3=2;
p=5
(p-1)!modp= 1*2*3*4mod 5=4;
p=7;
(p-1)!modp= 1*2*3*4*5*6mod 7=6;
...
由此可以发现规律
(p-1)!modp=p-1;
定理:如果p为素数,(p-1)!modp=p-1;
证明:
p=2,命题显然成立;
p=3,命题显然成立;
假设B中被p除余一的数是γa:
一若γ=1,则γa=a,它被p除余a,又因为a不等于1,所以γ=1不成立;
二若γ=p-1,则γa=(p-1)a,它被p除余p-a,又因为a不等于p-1,所以γ=p-1不成立;
由一二三知γ≠a且a,γ∈A。
a不同时,γ也相异;若a1≠a2, a1,a2∈A,且γa1≡γa2≡1(mod p),因,γa1,γa2∈B,而B中的元素关于mod p不同余,可见a1≠a2,则γ1≠γ2。
即A中的每一个a均可找到与其配对的y,γ∈A使ay≡1(mod p),
又,a不同时,γ也相异。
因此,A中的偶数个(p-3个)元素可以分成(p-3)/2个二元组(a,y),每个二元组都满足ay≡1(mod p),
∴ 1×2×3×4....(p-2)≡1(mod p)
p-1≡-1(mod p)
∴ (p-1)!≡-1(mod p)
从而p可整除(p-1)!+1
假如p不是素数
当p=4时(p-1)!modp=1*2*3mod4=2;显然结论不成立
7 编写python程序完成欧拉函数phi的计算,即输入正整数n计算并返回φ(n)
def euler_function(n):
j = 0
"""欧几里得算法求是否与n互素"""
for i in range(2, n):
a = n
q = i
r = a % i
while r != 1 and r != 0:
a = int(q)
q = int(r)
r = int(a) % int(q)
"""如果互素则计数+1"""
if r == 1:
j += 1
elif r == 0:
pass
print(j)
if __name__ == '__main__':
"""主函数进行调用"""
n = int(input("请输入欧拉函数的n"))
euler_function(n)
费马小定理和欧拉定理相关推荐
- 密码学基础——辗转相除法,费马小定理,欧拉定理,裴蜀定理,中国剩余定理
文章主要根据百度百科和维基百科相关相关知识点整理而成! 辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法.它的具体做法是:用较小数除较大数 ...
- 三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明
一.威尔逊定理 若p为质数,则 p|(p-1)!+1 亦:(p-1)! ≡ p-1 ≡ -1(mod p) 例题: HDU 2973 YAPTCHA (威尔逊定理及其逆定理) 解题报告见http:// ...
- 逆元的几种求法(扩展欧几里得,费马小定理或欧拉定理,特例,打表等)
乘法逆元 对于缩系中的元素,每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 逆元的含义:模n意义下,1个数a如果 ...
- 费马小定理与欧拉定理 原理与证明
一.欧拉定理 1.定义 若a与n互质,则aφ(n)≡1a^{\varphi (n)} \equiv 1aφ(n)≡1 (mod n). 其中φ(n)\varphi (n)φ(n)指欧拉函数:小于n的正 ...
- 费马小定理与欧拉定理
费马小定理 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 欧拉定理 gcd(a,n)=1,则 a^≡1(mod p) 其中,是欧拉函数 欧拉定理证明 模m的同余类共有m ...
- 费马小定理、欧拉定理与扩展欧拉定理(含证明)
这里就以自己做好的PPT图片的形式给出了:
- 欧拉定理 费马小定理
前言 学基础数论的时候看过证明,然而很快就忘了,最近在学习高深一点的数论,于是再复习一下欧拉定理和费马小定理. 欧拉定理 内容 若正整数 \(a,n\) 互质,则 \(a^{\varphi(n)}\e ...
- 数论杂谈(欧拉定理与费马小定理结论与应用)
文章目录 欧拉定理: 欧拉定理性质: 扩展欧拉定理: 费马小定理: 指数循环节 费马大定理 逆元: 例题 原根 定义: 原根存在条件 例题 快速幂 代码 矩阵快速幂 原理: 代码: 欧拉定理: aφ( ...
- 初等数论四大定理(威尔逊定理,欧拉定理,费马小定理,中国剩余定理)
初等数论四大定理 1. 威尔逊定理 (1) 结论 当且仅当ppp为素数时,(p−1)!≡−1(modp)(p-1)!\equiv -1(\mod p)(p−1)!≡−1(modp). (2) 证明 充 ...
- 欧拉定理与费马小定理
一.互质与欧拉函数 互质: ∀a,b∈N\forall a, b \in N∀a,b∈N,如果 gcd(a, b) = 1,则称 a, b 互质. 对于三个或以上的数,我们把 gcd(a, b ...
最新文章
- python数据框添加一列无列名_Python将列添加到数据框导致NaN
- 一部手机失窃引发的惊心动魄的战争,你是个合格的程序猿吗?
- C 常用新特性(上)
- IIS6.0的web园--最大工作进程数
- elasticdump elasticsearch数据备份与迁移 导入导出
- linux 禁用smb服务,Samba 4.11 发布,更好的可扩展性与默认禁用SMB1
- Android 编辑中的快捷键
- 并发编程学习之线程池工作原理
- 台电tbook10s官方固件_台电Tbook10S线刷包_台电Tbook10S刷机包_台电Tbook10S固件包_台电Tbook10S救砖包 - 线刷宝ROM中心...
- android双击回到顶部,Android之双击回到顶部
- verilog——74X138译码器及其应用
- 为什么acdsee服务器怎在运行,如何使用ACDSEE
- 【WPF】屏幕录像、摄像头录像
- 麒麟座mini学习笔记之云端查看数据流
- 二叉查找树(重复元素情况)
- 逗号表达式与赋值语句
- 青竹画材科创板IPO进程终止:原计划募资4亿元,刘其通为控股股东
- 【动作】Cocosd-x3.x 动作类归纳
- yolov7 姿态识别-人体骨架-实时检测
- SIKI学院:MySQL数据库从零到精通:三:课时 4 : 03-服务器端运行通信原理图+课时 5 : 04-游戏服务器端简介
热门文章
- [MRI]核磁共振头线圈和体线圈
- 机动车驾驶证扣分查询
- Linux下用imageMagick对图片进行一些操作,非常建议方便的一个图片处理工具。
- java数据结构与算法之栈(Stack)设计与实现
- sass @media
- 2022-02-05大数据学习日志——Hadoop离线阶段——Hive SQL DDL
- VS 0x80041FEB
- Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解(1ni)
- 神舟战神笔记本重做系统
- 百度影棒1刷成Android系统,百度影棒2S最简单的刷机方法