威尔逊定理
(p−1)!≡p−1≡−1 (mod p) (p is a prime) ( p − 1 ) ! ≡ p − 1 ≡ − 1 ( m o d p ) ( p i s a p r i m e )
由于 (p−1)! ( p − 1 ) ! 较大,实际应用不是很广泛
简单的证明
费马小定理
假如 p p 是质数,且,那么 a(p−1)≡1 a ( p − 1 ) ≡ 1 (mod p)
简单的证明
欧拉定理
直到今天我才认清这三个人
A.欧拉(欧拉定理) B.高斯(高斯消元) C.欧几里得(欧几里得算法)
A
.
欧
拉
(
欧
拉
定
理
)
B
.
高
斯
(
高
斯
消
元
)
C
.
欧
几
里
得
(
欧
几
里
得
算
法
)
下面就是ta的故事了:
在计算乘法逆元的时候,我们经常使用的(也是最简单的)就是费马小定理:
假如 p p 是质数,且,那么 a(p−1)≡1 a ( p − 1 ) ≡ 1 (mod p)
实际上费马小定理是欧拉定理的特殊情况+应用
若 n,a n , a 为正整数,且 n,a n , a 互质,则 aϕ(n)≡1 a ϕ ( n ) ≡ 1 (mod p)
由此,我们在计算幂的时候(底数与模数互质)则有
简单的证明
然而当底数与模数不互质的时候怎么办呢
我们需要欧拉定理的扩展包:
方便起见,我们可以合并一下:
注意:扩展欧拉定理只影响取模方式,并不影响模数
简单的证明
在 a a 的次 ,1 , 1 次 ,...,b , . . . , b 次幂模 m m 的序列中,前个数 (a0到ar−1) ( a 0 到 a r − 1 ) 互不相同,从第 r r 个数开始,每个数就循环一次
证明:由鸽巢定理易证
我们把 r r 称为幂次模 m m 的循环起始点,称为循环长度。(注意: r r 可以为0)
用公式表述为:a a 为素数的情况
令,则 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+pr(因为m=(pr)m′) p r + φ ( m ) = k m + p r ( 因 为 m = ( p r ) m ′ )
所以 pr≡pr+s(mod m) p r ≡ p r + s ( m o d m ) ,这里 s=φ(m) s = φ ( m )推论: pb≡pr+(b−r) % φ(m)(mod m) p b ≡ p r + ( b − r ) % φ ( m ) ( m o d m )
又由于 m=(pr)m′ m = ( p r ) m ′ ,所以 φ(m)≥φ(pr)=pr−1(p−1)≥r φ ( m ) ≥ φ ( p r ) = p r − 1 ( p − 1 ) ≥ r
所以 pr≡pr+φ(m)≡pr % φ(m)+φ(m)(mod m) p r ≡ p r + φ ( m ) ≡ p r % φ ( m ) + φ ( m ) ( m o d m )
所以 pb≡pr+(b−r) % φ(m)≡pr % φ(m)+φ(m)+(b−r) % φ(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 )
即 pb≡pb % φ(m)+φ(m)(mod m) p b ≡ p b % φ ( m ) + φ ( m ) ( m o d m )
a a 为素数的幂的情况
是否依然有(其中 s′=φ(m),a=pk s ′ = φ ( m ) , a = p k )
答案是肯定的,由2知 ps≡1(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 ) 时才能有 ps′k≡1(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 )
由 r′,s′ r ′ , s ′ 与 φ(m) φ ( m ) 的关系,依然可以得到 ab≡ab % φ(m)+φ(m) (mod m) a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m )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 ) 的关系,依然可以得到 ab≡ab % φ(m)+φ(m) (mod m) a b ≡ a b % φ ( m ) + φ ( m ) ( m o d m )
证毕