定理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)

费马小定理和欧拉定理相关推荐

  1. 密码学基础——辗转相除法,费马小定理,欧拉定理,裴蜀定理,中国剩余定理

    文章主要根据百度百科和维基百科相关相关知识点整理而成! 辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法.它的具体做法是:用较小数除较大数 ...

  2. 三个重要的同余式——威尔逊定理、费马小定理、欧拉定理 + 求幂大法的证明

    一.威尔逊定理 若p为质数,则 p|(p-1)!+1 亦:(p-1)! ≡ p-1 ≡ -1(mod p) 例题: HDU 2973 YAPTCHA (威尔逊定理及其逆定理) 解题报告见http:// ...

  3. 逆元的几种求法(扩展欧几里得,费马小定理或欧拉定理,特例,打表等)

    乘法逆元 对于缩系中的元素,每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 逆元的含义:模n意义下,1个数a如果 ...

  4. 费马小定理与欧拉定理 原理与证明

    一.欧拉定理 1.定义 若a与n互质,则aφ(n)≡1a^{\varphi (n)} \equiv 1aφ(n)≡1 (mod n). 其中φ(n)\varphi (n)φ(n)指欧拉函数:小于n的正 ...

  5. 费马小定理与欧拉定理

    费马小定理 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 欧拉定理 gcd(a,n)=1,则 a^≡1(mod p) 其中,是欧拉函数 欧拉定理证明 模m的同余类共有m ...

  6. 费马小定理、欧拉定理与扩展欧拉定理(含证明)

    这里就以自己做好的PPT图片的形式给出了:

  7. 欧拉定理 费马小定理

    前言 学基础数论的时候看过证明,然而很快就忘了,最近在学习高深一点的数论,于是再复习一下欧拉定理和费马小定理. 欧拉定理 内容 若正整数 \(a,n\) 互质,则 \(a^{\varphi(n)}\e ...

  8. 数论杂谈(欧拉定理与费马小定理结论与应用)

    文章目录 欧拉定理: 欧拉定理性质: 扩展欧拉定理: 费马小定理: 指数循环节 费马大定理 逆元: 例题 原根 定义: 原根存在条件 例题 快速幂 代码 矩阵快速幂 原理: 代码: 欧拉定理: aφ( ...

  9. 初等数论四大定理(威尔逊定理,欧拉定理,费马小定理,中国剩余定理)

    初等数论四大定理 1. 威尔逊定理 (1) 结论 当且仅当ppp为素数时,(p−1)!≡−1(modp)(p-1)!\equiv -1(\mod p)(p−1)!≡−1(modp). (2) 证明 充 ...

  10. 欧拉定理与费马小定理

    一.互质与欧拉函数 互质:   ∀a,b∈N\forall a, b \in N∀a,b∈N,如果 gcd(a, b) = 1,则称 a, b 互质.   对于三个或以上的数,我们把 gcd(a, b ...

最新文章

  1. python数据框添加一列无列名_Python将列添加到数据框导致NaN
  2. 一部手机失窃引发的惊心动魄的战争,你是个合格的程序猿吗?
  3. C 常用新特性(上)
  4. IIS6.0的web园--最大工作进程数
  5. elasticdump elasticsearch数据备份与迁移 导入导出
  6. linux 禁用smb服务,Samba 4.11 发布,更好的可扩展性与默认禁用SMB1
  7. Android 编辑中的快捷键
  8. 并发编程学习之线程池工作原理
  9. 台电tbook10s官方固件_台电Tbook10S线刷包_台电Tbook10S刷机包_台电Tbook10S固件包_台电Tbook10S救砖包 - 线刷宝ROM中心...
  10. android双击回到顶部,Android之双击回到顶部
  11. verilog——74X138译码器及其应用
  12. 为什么acdsee服务器怎在运行,如何使用ACDSEE
  13. 【WPF】屏幕录像、摄像头录像
  14. 麒麟座mini学习笔记之云端查看数据流
  15. 二叉查找树(重复元素情况)
  16. 逗号表达式与赋值语句
  17. 青竹画材科创板IPO进程终止:原计划募资4亿元,刘其通为控股股东
  18. 【动作】Cocosd-x3.x 动作类归纳
  19. yolov7 姿态识别-人体骨架-实时检测
  20. SIKI学院:MySQL数据库从零到精通:三:课时 4 : 03-服务器端运行通信原理图+课时 5 : 04-游戏服务器端简介

热门文章

  1. [MRI]核磁共振头线圈和体线圈
  2. 机动车驾驶证扣分查询
  3. Linux下用imageMagick对图片进行一些操作,非常建议方便的一个图片处理工具。
  4. java数据结构与算法之栈(Stack)设计与实现
  5. sass @media
  6. 2022-02-05大数据学习日志——Hadoop离线阶段——Hive SQL DDL
  7. VS 0x80041FEB
  8. Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解(1ni)
  9. 神舟战神笔记本重做系统
  10. 百度影棒1刷成Android系统,百度影棒2S最简单的刷机方法