Loading

教学之费马小定理求逆元

首先:逆元定义

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

其次:费马小定理

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

略证:

两个引理
引理1
\(a,b,c\)为任意3个整数,\(m\)为正整数,且\((m,c)=1\),则当\(a·c≡b·c(mod\ m)\)时,有\(a≡b(mod\ m)\)
证明:\(a·c≡b·c(mod\ m)\)可得\(ac–bc≡0(mod\ m)\)可得\((a-b)·c≡0(mod\ m)\)。因为\((m,c)=1\)\(m,c\)互质,\(c\)可以约去,\(a–b≡0(mod\ m)\)可得\(a≡b(mod\ m)\)
引理2
\(m\)是一个整数且\(m>1\)\(b\)是一个整数且\((m,b)=1\)。如果\(a[1],a[2],a[3],a[4],…a[m]\)是模\(m\)的一个完全剩余系,则\(b·a[1],b·a[2],b·a[3],b·a[4],…b·a[m]\)也构成模\(m\)的一个完全剩余系。
证明:若存在2个整数\(b·a[i]\)\(b·a[j]\)同余即\(b·a[i]≡b·a[j](mod\ m)..(i>=1 且 j>=1)\),根据引理1则有
\(a[i]≡a[j](mod\ m)\)。根据完全剩余系的定义可知这是不可能的,因此不存在2个整数\(b·a[i]\)\(b·a[j]同余\)
所以\(b·a[1],b·a[2],b·a[3],b·a[4],…b·a[m]\)构成模\(m\)的一个完全剩余系。
证明费马小定理
构造素数 的完全剩余系

\[P=\{1,2,3,...,p-1\}. \]

因为\((a,p)=1\),由引理2可得

\[A=\{a,2a,3a,...,(p-1)a\} \]

也是\(p\)的一个完全剩余系。由完全剩余系的性质,

\[1×2×3×...×(p-1)≡a·2a·3a·...·(p-1)a(mod\ p) \]

\((p-1)!≡(p-1)!·a^{p-1}(mod\ p)\)
易知\(((p-1)!,p)=1\),同余式两边可约去\((p-1)!\),得到

\[a^{p-1}≡1(mod\ p) \]

这样就证明了费马小定理。

上述均来自百度百科

最终:费马小定理求逆元

现在我们手上有两个式子
一是逆元:\(a*x≡1\) \((mod\) \(P)\)
二是费马小定理:\(a^{P-1}≡1\) \((mod\) \(P)\)
诶,这两个式子是不是有点想
我们把费马小定理的式子转一下

\[a^{P-1}≡1 (mod\ P)变为a*a^{P-2}≡1(mod\ P) \]

此时再和逆元的式子对比一下
发现:似乎,\(x\)就是\(a^{P-2}\)
自信点,把似乎去掉
至此,我们就知道了,在P是质数时\(a\)在模\(P\)的意义下的逆元就是\(a^{P-2}\)
大功告成
切记,只有模数\(P\)是质数的情况下才可以用费马小定理求逆元
顺便说一下,求\(a^{P-2}\)可以用快速幂

posted @ 2020-08-06 19:34  Thunder_S  阅读(383)  评论(0编辑  收藏  举报