蒟蒻的费马小定理求逆元

首先:逆元定义

我们先说明一下什么是逆元
逆元是指,在模 P P P的意义下, a a a x x x的积模 P P P后等于1
式子: a ∗ x ≡ 1 a*x≡1 ax1 ( m o d (mod (mod P ) P) P)

其次:费马小定理

有了逆元的定义后,我们引入一下费马小定理
何为费马小定理?
如果 p p p是一个质数,而整数 a a a不是 p p p的倍数,则有 a p − 1 ≡ 1 ( m o d   p ) a^{p-1}≡1(mod\ p) ap11(mod p)

略证:

两个引理
引理1
a , b , c a,b,c abc为任意3个整数, m m m为正整数,且 ( m , c ) = 1 (m,c)=1 (m,c)=1,则当 a ⋅ c ≡ b ⋅ c ( m o d   m ) a·c≡b·c(mod\ m) acbc(mod m)时,有 a ≡ b ( m o d   m ) a≡b(mod\ m) ab(mod m)
证明: a ⋅ c ≡ b ⋅ c ( m o d   m ) a·c≡b·c(mod\ m) acbc(mod m)可得 a c – b c ≡ 0 ( m o d   m ) ac–bc≡0(mod\ m) acbc0(mod m)可得 ( a − b ) ⋅ c ≡ 0 ( m o d   m ) (a-b)·c≡0(mod\ m) (ab)c0(mod m)。因为 ( m , c ) = 1 (m,c)=1 (m,c)=1 m , c m,c m,c互质, c c c可以约去, a – b ≡ 0 ( m o d   m ) a–b≡0(mod\ m) ab0(mod m)可得 a ≡ b ( m o d   m ) a≡b(mod\ m) ab(mod m)
引理2
m m m是一个整数且 m > 1 m>1 m>1 b b b是一个整数且 ( m , b ) = 1 (m,b)=1 (m,b)=1。如果 a [ 1 ] , a [ 2 ] , a [ 3 ] , a [ 4 ] , … a [ m ] a[1],a[2],a[3],a[4],…a[m] a[1],a[2],a[3],a[4],a[m]是模 m m m的一个完全剩余系,则 b ⋅ a [ 1 ] , b ⋅ a [ 2 ] , b ⋅ a [ 3 ] , b ⋅ a [ 4 ] , … b ⋅ a [ m ] b·a[1],b·a[2],b·a[3],b·a[4],…b·a[m] ba[1],ba[2],ba[3],ba[4],ba[m]也构成模 m m m的一个完全剩余系。
证明:若存在2个整数 b ⋅ a [ i ] b·a[i] ba[i] b ⋅ a [ j ] b·a[j] ba[j]同余即 b ⋅ a [ i ] ≡ b ⋅ a [ j ] ( m o d   m ) . . ( i > = 1 且 j > = 1 ) b·a[i]≡b·a[j](mod\ m)..(i>=1 且 j>=1) ba[i]ba[j](mod m)..(i>=1j>=1),根据引理1则有
a [ i ] ≡ a [ j ] ( m o d   m ) a[i]≡a[j](mod\ m) a[i]a[j](mod m)。根据完全剩余系的定义可知这是不可能的,因此不存在2个整数 b ⋅ a [ i ] b·a[i] ba[i] b ⋅ a [ j ] 同 余 b·a[j]同余 ba[j]
所以 b ⋅ a [ 1 ] , b ⋅ a [ 2 ] , b ⋅ a [ 3 ] , b ⋅ a [ 4 ] , … b ⋅ a [ m ] b·a[1],b·a[2],b·a[3],b·a[4],…b·a[m] ba[1],ba[2],ba[3],ba[4],ba[m]构成模 m m m的一个完全剩余系。
证明费马小定理
构造素数 的完全剩余系
P = { 1 , 2 , 3 , . . . , p − 1 } . P=\{1,2,3,...,p-1\}. P={1,2,3,...,p1}.
因为 ( a , p ) = 1 (a,p)=1 (a,p)=1,由引理2可得
A = { a , 2 a , 3 a , . . . , ( p − 1 ) a } A=\{a,2a,3a,...,(p-1)a\} A={a,2a,3a,...,(p1)a}
也是 p p p的一个完全剩余系。由完全剩余系的性质,
1 × 2 × 3 × . . . × ( p − 1 ) ≡ a ⋅ 2 a ⋅ 3 a ⋅ . . . ⋅ ( p − 1 ) a ( m o d   p ) 1×2×3×...×(p-1)≡a·2a·3a·...·(p-1)a(mod\ p) 1×2×3×...×(p1)a2a3a...(p1)a(mod p)
( p − 1 ) ! ≡ ( p − 1 ) ! ⋅ a p − 1 ( m o d   p ) (p-1)!≡(p-1)!·a^{p-1}(mod\ p) (p1)!(p1)!ap1(mod p)
易知 ( ( p − 1 ) ! , p ) = 1 ((p-1)!,p)=1 ((p1)!,p)=1,同余式两边可约去 ( p − 1 ) ! (p-1)! (p1)!,得到
a p − 1 ≡ 1 ( m o d   p ) a^{p-1}≡1(mod\ p) ap11(mod p)
这样就证明了费马小定理。

上述均来自百度百科

最终:费马小定理求逆元

现在我们手上有两个式子
一是逆元: a ∗ x ≡ 1 a*x≡1 ax1 ( m o d (mod (mod P ) P) P)
二是费马小定理: a P − 1 ≡ 1 a^{P-1}≡1 aP11 ( m o d (mod (mod P ) P) P)
诶,这两个式子是不是有点想
我们把费马小定理的式子转一下
a P − 1 ≡ 1 ( m o d   P ) 变 为 a ∗ a P − 2 ≡ 1 ( m o d   P ) a^{P-1}≡1 (mod\ P)变为a*a^{P-2}≡1(mod\ P) aP11(mod P)aaP21(mod P)
此时再和逆元的式子对比一下
发现:似乎, x x x就是 a P − 2 a^{P-2} aP2
自信点,把似乎去掉
至此,我们就知道了,在P是质数时 a a a在模 P P P的意义下的逆元就是 a P − 2 a^{P-2} aP2
大功告成
切记,只有模数 P P P是质数的情况下才可以用费马小定理求逆元
顺便说一下,求 a P − 2 a^{P-2} aP2可以用快速幂

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值