三个重要的同余式——威尔逊定理,费马小定理,欧拉定理(扩展)

鸣谢synapse7大大

威尔逊定理

(p1)!p11   (mod p) (p is a prime) ( p − 1 ) ! ≡ p − 1 ≡ − 1       ( m o d   p )   ( p   i s   a   p r i m e )

由于 (p1)! ( p − 1 ) ! 较大,实际应用不是很广泛

简单的证明

这里写图片描述
这里写图片描述

费马小定理

假如 p p 是质数,且gcd(a,p)=1,那么 a(p1)1 a ( p − 1 ) ≡ 1 (mod p)

简单的证明

这里写图片描述
这里写图片描述

欧拉定理

直到今天我才认清这三个人
这里写图片描述 这里写图片描述 这里写图片描述
A.()     B.()     C.() A . 欧 拉 ( 欧 拉 定 理 )           B . 高 斯 ( 高 斯 消 元 )           C . 欧 几 里 得 ( 欧 几 里 得 算 法 )

下面就是ta的故事了:
这里写图片描述

在计算乘法逆元的时候,我们经常使用的(也是最简单的)就是费马小定理:

假如 p p 是质数,且gcd(a,p)=1,那么 a(p1)1 a ( p − 1 ) ≡ 1 (mod p)

实际上费马小定理是欧拉定理的特殊情况+应用

n,a n , a 为正整数,且 n,a n , a 互质,则 aϕ(n)1 a ϕ ( n ) ≡ 1 (mod p)

由此,我们在计算幂的时候(底数与模数互质)则有

ab=ab mod ϕ(p)     (mod p) (gcd(a,p)=1) a b = a b   m o d   ϕ ( p )           ( m o d   p )   ( g c d ( a , p ) = 1 )

简单的证明

这里写图片描述
这里写图片描述


然而当底数与模数不互质的时候怎么办呢
我们需要欧拉定理的扩展包:
这里写图片描述

方便起见,我们可以合并一下:
这里写图片描述

注意:扩展欧拉定理只影响取模方式,并不影响模数
简单的证明
  • a a 0 ,1 , 1 ,...,b , . . . , b 次幂模 m m 的序列中,前r个数 (a0ar1) ( a 0 到 a r − 1 ) 互不相同,从第 r r 个数开始,每s个数就循环一次
    证明:由鸽巢定理易证
    我们把 r r 称为a幂次模 m m 的循环起始点,s称为循环长度。(注意: r r 可以为0)
    用公式表述为:arar+s   (mod m)

  • a a 为素数的情况
    m=(pr)m,则 gcd(p,m)=1 g c d ( p , m ′ ) = 1 ,所以 pφ(m)1(mod m) p φ ( m ′ ) ≡ 1 ( m o d   m ′ )
    又由于 gcd(pr,m)=1 g c d ( p r , m ′ ) = 1 ,所以 φ(m)|φ(m) φ ( m ′ ) | φ ( m ) ,所以 pφ(m)1(mod m) p φ ( m ) ≡ 1 ( m o d   m ′ )
    pφ(m)=km+1 p φ ( m ) = k m ′ + 1 ,两边同时乘以 pr p r ,得 pr+φ(m)=km+prm=(pr)m) p r + φ ( m ) = k m + p r ( 因 为 m = ( p r ) m ′ )
    所以 prpr+s(mod m) p r ≡ p r + s ( m o d   m ) ,这里 s=φ(m) s = φ ( m )

    • 推论: pbpr+(br) % φ(m)(mod m) p b ≡ p r + ( b − r )   %   φ ( m ) ( m o d   m )

    • 又由于 m=(pr)m m = ( p r ) m ′ ,所以 φ(m)φ(pr)=pr1(p1)r φ ( m ) ≥ φ ( p r ) = p r − 1 ( p − 1 ) ≥ r
      所以 prpr+φ(m)pr % φ(m)+φ(m)(mod m) p r ≡ p r + φ ( m ) ≡ p r   %   φ ( m ) + φ ( m ) ( m o d   m )
      所以 pbpr+(br) % φ(m)pr % φ(m)+φ(m)+(br) % φ(m)pφ(m)+b % φ(m)(mod m) p b ≡ p r + ( b − r )   %   φ ( m ) ≡ p r   %   φ ( m ) + φ ( m ) + ( b − r )   %   φ ( m ) ≡ p φ ( m ) + b   %   φ ( m ) ( m o d   m )
      pbpb % φ(m)+φ(m)(mod m) p b ≡ p b   %   φ ( m ) + φ ( m ) ( m o d   m )

  • a a 为素数的幂的情况
    是否依然有arar+s(mod m)(其中 s=φ(m)a=pk s ′ = φ ( m ) , a = p k )
    答案是肯定的,由2知 ps1(mod m) p s ≡ 1 ( m o d   m ′ ) ,所以 p(s(k/gcd(s,k))1(mod m) p ( s ∗ ( k / g c d ( s , k ) ) ≡ 1 ( m o d   m ′ ) ,所以当 s=s/gcd(s,k) s ′ = s / g c d ( s , k ) 时才能有 psk1(mod m) p s ′ k ≡ 1 ( m o d   m ′ ) ,此时 s|s|φ(m) s ′ | s | φ ( m ) ,且 r=ceil(r/k)<=r<=φ(m) r ′ = c e i l ( r / k ) <= r <= φ ( m )
    rs r ′ , s ′ φ(m) φ ( m ) 的关系,依然可以得到 abab % φ(m)+φ(m) (mod m) a b ≡ a b   %   φ ( m ) + φ ( m )   ( m o d   m )

  • a a 为合数的情况
    只证a拆成两个素数的幂的情况,大于两个的用数学归纳法可证
    a=a1a2,ai=pkii,ai a = a 1 a 2 , a i = p i k i , a i 的循环长度为 si s i
    s|lcm(s1,s2) s | l c m ( s 1 , s 2 ) ,由于 s1|φ(m),s2|φ(m) s 1 | φ ( m ) , s 2 | φ ( m ) ,那么 lcm(s1,s2)|φ(m) l c m ( s 1 , s 2 ) | φ ( m ) ,所以 s|φ(m) s | φ ( m )
    r=max{ceil(ri/ki)}<=max{ri}<=φ(m) r = m a x { c e i l ( r i / k i ) } <= m a x { r i } <= φ ( m )
    r,s r , s φ(m) φ ( m ) 的关系,依然可以得到 abab % φ(m)+φ(m) (mod m) a b ≡ a b   %   φ ( m ) + φ ( m )   ( m o d   m )

证毕

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值