• 欧拉定理


    定义

    如果正整数 (n) 和 整数 (a) 互质,那么就有

    [a^{varphi left( n ight)}equiv 1 left( mod n ight) ]

    其中欧拉函数(varphi left( n ight)) 为 ”小于 (n) 的正整数中并且与 (n) 互质的数的个数“。
    互质:即自然数 (X)(Y) 的最大公因/约数为1 栗子:7 和 3 公约数只有1。
    ( equiv ): 同余关系。例如:(X) ( equiv ) (Y) (mod (n)), 即 (X) mod (n)(Y) mod (n) 的余数相同。

    基础知识

    1.唯一质数分解定理(Unique factorisation theorem)

    任何一个正整数 (n) > 1 都可以唯一地分解为一组质数的乘积

    [n=2^{e_1} imes 3^{e_2} imes 5^{e_3} imes cdots =prod_{k=1}^{infty}{p_{k}^{e^k}} ]

    其中 ( e_1,e_2,cdots in N ) ,我们称这个分解为 (n)的标准分解
    解释:因为一个数肯定是由合数和质数构成的,合数又可以分解成质数和合数,最后递归下去就会变成质数的乘积,最后化成了质数相乘的形式。如 (100 ightarrow 4 imes 25 ightarrow 2^2 imes 5^2)

    2.最大公因/约数(GCD)、最小公倍数 (LCM)、互质(Coprime)

    因数:指整数 a 除以 b (b!=0) 的商正好是整数而没有余数,我们就可以说 b 是 a 的因数。
    公因数:两个或多个数共同都有的因数叫做公因数.
    最大公因数:两个或多个数都有的因数里最大的叫做最大公因数。

    倍数:一个整数能够被另一个整数整除,这个整数就是另一整数的倍数。如同上面的因数概念,a 即为 b的倍数。
    公倍数:两个或多个都有的倍数叫做公倍数。
    最小公倍数:两个或多个数都有的倍数里最小的叫做最小公倍数。

    img

    互质:对于整数 (a,b) 我们记 ( gcdleft( a,b ight) )( lcmleft( a,b ight) )(a,b) 的最大公因数和最小公倍数,有时候我们会直接把他们简写为 ( left( a,b ight) )( left[ a,b ight] ) 。如果 ( gcdleft( a,b ight) =1 ) ,我们称 (a,b) 互质,也就是说他们没有任何共同的质因数。Attention: 1不为质数/素数。

    基本性质

    • ( gcdleft( a,b ight) =gcdleft( apm b,b ight) )
    • ( gcdleft( na,nb ight) =ngcdleft( a,b ight) )
    • ( gcdleft( a,b ight) =frac{acdot b}{lcmleft( a,b ight)} )
    • 裴蜀定理:存在整数 (x,y) 使得 ( gcdleft( a,b ight) =ax+by )

    3.同余关系(Congruence relations)

    整数 a 和 b 除以 n 的余数相同,则称 a, b 模 n 同于,记作

    [aequiv b left( mod n ight) ]

    如果对于整数 ( a_1,a_2,b_1,b_2 )

    [a_1equiv b_1left( mod n ight) ]

    [a_2equiv b_2left( mod n ight) ]

    那么可以它们进行相加或相减

    [a_1pm a_2equiv b_1pm b_2left( mod n ight) ]

    同时也能进行相乘

    [a_1a_2equiv b_1b_2left( mod n ight) ]

    综上两条性质,即如果 (aequiv b left( mod n ight)),那么

    [pleft( a ight) equiv pleft( b ight) left( mod n ight) ]

    Attention: P(x) 为任意整数多项式。

    这里需要注意的一点是,如果整数 ( a,b,c ) 满足

    [acequiv bc left( mod n ight) ]

    那么只有当 (n,c) 互质时才可以把两边的 (c) 直接约掉,得到 (aequiv b left( mod n ight)) ,更一般的

    [aequiv b left( modfrac{n}{gcdleft( n,c ight)} ight) ]

    4.同余类(Residue class)、完全剩余系(Complete residue system)、缩剩余系(Reduced residue system)

    通过一个整数模 (n) 的余数,我们可以把所有整数分成 (n) 类,记

    [ar{r}_n=left{ min Z | mn+r ight} ]

    为模 (n)(r)同余类(也叫剩余类)。

    举个例子

    [4_{10}=left{ cdots ,-16,-6,4,14,24,cdots ight} ]

    是模 10 余 4 的同余类

    ( 0_n,1_n,2_n,cdots ,overline{left( n-1 ight) }_n ) 中各挑出一个数就组成了一个模 (n)完全剩余系(完系) ( R_n )

    [R_n=left{ r_0,r_1,cdots ,r_{n-1} ight} ]

    其中 ( r_0epsilon 0_n,r_1epsilon 1_n,r_2epsilon 2_n,cdots ,r_{n-1}epsilon overline{left( n-1 ight) _n} )

    换言之, (n) 个模 (n) 互相不同余的整数组成一个模 (n) 的完全剩余系。

    我们称 ( R_n=left{ 0,1,cdots ,n-1 ight} ) 为模 (n)最小非负完全剩余系(最小非负完系)。

    取一个模 (n) 的完全剩余系 ( R_n ) ,取出里面所有和 (n) 互质的数,这些数组成一个模 (n)缩剩余系(缩系),记为 ( varPhi _n )

    [varPhi _n=left{ c_1,c_2,cdots c_{varphi left( n ight)} ight} ]

    其中 ( varphi left( n ight) ) 是序言里提到的欧拉函数,代表「小于 (n) 的正整数中和 (n) 互质的数」的个数。

    栗子: 假设( R_6=left{ 36_0,7_1,14_2,15_3,22_4,23_5 ight} ) 为模6的完全剩余系,下标为余数,从里面找出所有和 6 互质的数,组成一个 模 6 的缩剩余系 ( varPhi _6=left{ 7_1,23_5 ight} )。我们可以发现1 和 5 也刚好是 ( varphi left( 6 ight) =2 ) 结果中的两个与其互质的数。

    注意,因为 ( gcdleft( c_i,n ight) =gcdleft( c_i+n,n ight) =1 ) ,每一个模 (n) 的缩剩余系有相同数量的元素(缩剩余系中的每一个数所属的同余类是确定的,所以总共有确定的 $varphi left( n ight) $ 个同余类)

    如果缩剩余系 (varPhi _n=left{ c_1,c_2,cdots c_{varphi left( n ight)} ight}) 满足 ( 1le c_1,c_2,cdots c_{varphi left( n ight)}le n-1 ) ,那么称其为模 (n)最小正缩剩余系(最小正缩系)

    5.欧拉函数(Euler's totient function)

    对于正整数 (n) , $varphi left( n ight) $代表「小于 (n) 的正整数中和 (n) 互质的数」的个数,这个函数被称为欧拉函数;欧拉还告诉我们

    [frac{varphi left( n ight)}{n}=prod_{p|n}{left( 1-frac{1}{p} ight)} ]

    其中 (p) 取到 (n) 的所有质因数

    所以我们可以很方便的计算一个正整数欧拉函数的值(根据唯一质数分解定理),比如

    [varphi left( 1926 ight) =varphi left( 2 imes 3^2 imes 107 ight) =1926left( 1-frac{1}{2} ight) left( 1-frac{1}{3} ight) left( 1-frac{1}{107} ight) =636 ]

    欧拉定理的证明

    考虑模 (n) 的最小正缩系

    [varPhi _n=left{ c_1,c_2,cdots c_{varphi left( n ight)} ight} ]

    已知 ( gcdleft( a,n ight) =1 ) 我们在 ( varPhi _n ) 的每一个元素前面都乘一个 (a)

    [avarPhi _n=left{ ac_1,ac_2,cdots ,ac_{varphi left( n ight)} ight} ]

    利用反证法可以证明 ( avarPhi _n ) 也是一个模 (n) 的缩系(其元素的同余类的顺序有可能会改变,但是这并没有任何影响),假设

    [ac_i=ac_j left( mod n ight) ]

    其中 ( i e j ) ,因为 (a,n) 互质可以将两边消去 (a),那么就得到

    [c_i=c_j left( mod n ight) ]

    这是不可能的,因为 ( varPhi _n ) 中的元素互相模 (n) 不同余,矛盾啦!

    接下来的思路就比较清晰了,因为 ( varPhi _n )( avarPhi _n ) 都是模 (n) 的缩系

    [prod_{i=1}^{varphi left( n ight)}{c_i}equiv prod_{i=1}^{varphi left( n ight)}{ac_i}=a^{varphi left( n ight)}prod_{i=1}^{varphi left( n ight)}{c_i} modleft( n ight) ]

    显然 ( gcdleft( n, prod_{i=1}^{varphi left( n ight)}{c_i} ight) =1 ) 所以可以两边消去它

    [a^{varphi left( n ight)}equiv 1 left( mod n ight) ]

    补充说明: 因为 ( varPhi _n )最小正缩系【{1,2,3,...,n-1}最小完全剩余系中挑选的与n互质的数组成】, 即 ( aPhi _nequiv Phi _nleft( mod n ight) =Phi _n ) 。那为什么两个缩系各自的乘积取n得模依旧相等? 例如( Phi _3=left{ 1,2 ight} )( 2Phi _3=left{ 2,4 ight} ) 我们发现 ,( 1 imes 2 mod 3=2 imes 4 mod 3 = 2 ) 且2,8都3互质。
    证毕!

    计算

    求正整数 ( 3^{83} ) 的最后两位数

    按照定义:如果正整数 (n) 和 整数 (a) 互质,那么就有

    [a^{varphi left( n ight)}equiv 1 left( mod n ight) ]

    其中欧拉函数(varphi left( n ight)) 为 ”小于 (n) 的正整数中并且与 (n) 互质的数的个数“。

    a = 3, n = 100(因为取后面两位数,即mod 100), 且 3 和 100 互质,因此

    [varphi left( 100 ight) =100left( 1-frac{1}{2} ight) left( 1-frac{1}{5} ight) =40 ]

    [3^{varphi left( 100 ight)}=3^{40}equiv 1 left( mod 100 ight) ]

    [3^{83}=3^3 imes 3^{80}=3^3 imes left( 3^{varphi left( 100 ight)} ight) ^2equiv 3^3 imes 1=27 left( mod 100 ight) ]

    参考

    对这位的大神仔仔的数学小屋的文章进行了一丢丢修改,只是为了方便自己理解。

  • 相关阅读:
    李洪强iOS开发之上传照片时英文改中文
    李洪强iOS开发之让您的Xcode键字如飞
    李洪强iOS开发之initWithFrame,initWithCoder和aweakFormNib
    跟我学设计模式视频教程——管擦者模式(下),责任链模式(上)
    leetcode
    POJ 3071 Football(概率DP)
    小贝_mysql数据库备份与恢复
    第2次实验——算法基本功 与 综合思考
    加密壳之ACProtect之OEP的处理
    C语言的各种位运算符的操作简述
  • 原文地址:https://www.cnblogs.com/huang-xiang/p/12967060.html
Copyright © 2020-2023  润新知