费马小定理与欧拉定理:
费马小定理:当 $ m $ 为质数且 $ a $ 不为 $ m $ 的倍数时有 $ a^{m-1}≡1mod(m) $
根据费马小定理可知: $ a^{m-2} $ 就是a在模m意义下的逆元.
欧拉定理:当 $ a $ , $ m $ 互质时, $ a^{phi(m)}equiv 1mod (m) $ (这个式子也可以求逆元)
其实根据欧拉函数,我们可以看出费马小定理就是欧拉定理的特殊情况,因为若 $ m $ 为质数: $ phi(m)=m-1 $
欧拉定理的证明:
$ a^{phi(m)}equiv 1mod (m) $
分析这个定义式的左边,我们可以将所有与m互质的数都列举出来:
这里我们写成: $ x_1,x_2,x_3...x_{phi(n)} $ 这个形式
因为我们要得到 $ a^{phi(m)} $ 是多少,所以我们将这 $ phi(m) $ 个与m互质的数都乘上 $ a $
这里我们写成: $ p_1=ax_1,quad p_2=ax_2......p_{phi(m)}=ax_{phi(m)} $ 这个形式
引理1:对于上述两种形式,任意两个 $ x_i $ 之间模 $ m $ 不同余,任意两个 $ p_i $ 之间模 $ m $ 不同余
任意两个 $ x_i $ 之间模 $ m $ 不同余,这个很显然,因为 $ x_i $ 都小于m且互不相同
任意两个 $ p_i $ 之间模 $ m $ 不同余,这个可以用反证法:
$ i e j $ 且 $ p_iequiv p_jmod (m) $ 即 $ p_i-p_jequiv 0mod (m) $
上式可以写作: $ a(x_i-x_j)equiv 0mod(m) $ 即 $ a(x_i-x_j)=km $
可是我们的a与m互质,而 $ (x_i-x_j) $ 也必然不会是m的倍数(xi与xj不相等且都小于m)
所以等式右边不是m的倍数,等式不成立,反证法证毕!
引理2:任意 $ p_i $ 在模m后都与m互质 (这个我们同样用反证法)
$ ax_iequiv rmod(m) $ 且 $ gcd(r,m)>1 $ => 则存在: $ ax_i=r+km $
但我们的a和xi均与m互质,所以等式左边不为r的倍数,不可能等于右边,反证毕!
推出结果:根据上述两个引理,我们可以得出下面这个等式:
$ a^{phi(n)}equiv 1mod(m) $
$ p_1~ imes~p_2~ imes~p_3...~ imes~p_{phi (n)}equiv x_1~ imes~x_2~ imes~x_3...~ imes~x_{phi(n)}mod(m) $
$ ax_1 imes ax_2 imes ax_3... imes ax_{phi(n)}equiv x_1 imes x_2 imes x_3... imes x_{phi(n)}mod(m) $
$ a^{phi(n)}x_1 imes x_2 imes x_3... imes x_{phi(n)}equiv x_1 imes x_2 imes x_3... imes x_{phi(n)}mod(m) $
应用:根据欧拉定理,我们可以快速求出某一个数的最小的逆元
欧拉定理的推论:
欧拉定理的推论:若正整数 $ a $ , $ m $ 互质,则对于任意正整数 $ b $ ,有 $ a^b ≡ a^{bmodφ(n)} mod (m) $ 。
这个是及其好证明的:因为 $ a^b $ 可以表示成 $ a^{k imes phi(n)+(bmodφ(n))}=a^{k imes phi(n)} imes a^{(bmodφ(n))} $
而我们已经证明了: $ a^{phi(n)}equiv 1mod(m) $ 所以原式就等于 $ a^{bmodφ(n)} $
应用:根据这个定理,我们在解题时适当对指数进行取模
欧拉定理的扩展:
我们知道欧拉定理推论它有一个前提条件:当 $ a $ , $ m $ 互质时, $ a^{phi(m)}equiv 1mod (m) $
但是欧拉定理其实在 $ a $ , $ m $ 不互质时,也有办法对指数进行取模,简化运算
欧拉定理的扩展: $ a^b≡ a^{bmodphi(m)+phi(m)}mod (m)quad b≥q(m) $
证明:
因为a和m不互质,那我们假设p为a和m的任意一个质因子
那我们的问题就转换成了证明: $ p^b≡ p^{bmodphi(m)+phi(m)}mod (m) $
因为除去这些质因子,一个与m互质的数一定满足这个扩展式,所以只要我们能证明这些质因子也能满足扩展式,那么根据同余的乘法性质,我们就能乘得上述扩展式了!
为了方便证明,我们设 $ r $ 表示 $ m $ 中有多少个质因子 $ p $ ,再设 $ s=m/p^r $ ,显然 $ gcd(s,p)=1 $
因为我们的欧拉函数是积性函数,而且 $ s|m $ ,所以 $ phi(s)=phi(m) $
又因为 $ p^{phi(s)}equiv 1mod (s) $ ,所以 $ p^{phi(m)}equiv 1mod (s) $
根据同余的性质,如果我们两边同乘 $ p^r $ ,模数也可以乘上 $ p^r $ ,可得: $ p^{phi(m)+r}equiv p^rmod (m) $ ( $ m=s imes p^r $ )
仔细一观察同余号两边,这不就是一个循化节吗,这不就是一个递推式吗?
我们将它转换一下: $ p^b≡p^{b-r+r}≡p^{b-r+phi(m)+r}≡p^{b+phi(m)}mod (m) $
注意,我们整个过程中的b就是一个任意数,只是要满足 $ bgeqphi(m) $ 而已
所以,我们反向递推这个式子: $ p^{(b-phi(m))}≡p^{(b-phi(m))+phi(m)}≡p^bmod (m) $
我们经过不断反向递推,必然可以得到: $ p^{bmodphi(m)+phi(m)}≡p^bmod (m) $
所以扩展欧拉定理,卒........