模运算(未写完

模运算

基本知识

\begin{align} &a\mod{1}=0\\ &a\mod{a}=0\\ &若\ a\mod{b}=0\\ &则\ b|a\\ &若\ a\mod{c}=b\mod{c}\ 则\ c|(a-b)\\ &同时\ a\mod{c}=b\mod{c}\ 也可以记为\ a\equiv{b}\mod{c}\\ &a\equiv{a}\mod{c}\\ &若\ a\equiv{b}\mod{c}\ 则\ b\equiv{a}\mod{c}\\ &若\ a\equiv{b}\mod{p}\ 且\ b\equiv{c}\mod{p}\ 则\ a\equiv{v}\mod{p}\\ &0,1,2\cdots p-1\ 称作\ p的剩余系 \end{align}

辗转相除法证明

具体内容看这里

\begin{align} &设:\\ &a=bk+r(a\geq{b}\geq{r})\\ &g=\gcd(a,b)\\ &ng=a\\ &mg=b\\ &则:\\ r&=a-bk\\ &=ng-mgk\\ &=(n-mk)g\\ &\therefore g|r\\ 又\ &\because g|b\\ &\therefore g|\gcd(r,b)\\ &若要证明\ g=\gcd(r,b)\\ &相当于证明\ \gcd(m,n-mk)=1(我一开始就是这里没看懂,多理解一下)\\ &若存在\ q>1\ 且\ q|m,q|(n-mk)(即q=\gcd(m,n-mk))\\ &则\ q|n\ \\ &\therefore qg|ng,qg|mg(这段看不懂的去复习上面的基本知识)\\ &\therefore qg|a,qg|b\\ 而&\because g=\gcd(a,b)\\ &\therefore q=1\\ &\therefore\gcd(m,n-mk)=1\\ &\therefore\gcd(a,b)=g=\gcd(b,a\mod{b})\\ &证毕 \end{align}

逆元

其实课上并没有讲清楚逆元的定义,这边讲一下,或许能让你更好理解。

单位元:

在不同的运算中,有不同的单位元。

任何数对同一个数做相应的运算,得到原来的这个数,就称这个数是该运算域的单位元。

如加法的单位元为 0 ,因为 a+0=a

而乘法的单位元为 1 ,因为 a\times 1=a ​ 。

在模域里,显然能得到单位元为 1 ,因为 $a\times 1\equiv a\mod p$​ 。

逆元:

同样的:

一个数在不同的运算中,有不同的逆元,

但每个数都有相对应的运算中的逆元。

一个数对一个数做运算,最终得到了该运算域的单位元,则称这两者互为逆元

a 在加法域的逆元为 -a ,因为 a+(-a)=0

a 在乘法域的逆元为 \frac{1}{a}a^{-1} ,因为 a\times\frac{1}{a}=1

在模域里,逆元就没那么好求了,且在此运算中,一个数不一定有逆元,若有,则是唯一的。

但我们可以同过定义知道,当 xa 的在 \mod{p} 下的逆元时:

ax\equiv1\mod{p}

那我们求逆元有什么用呢?

我们知道在模乘中,可以很简单的进行加、减和乘法运算:

a\mod{p}\ +\ b\mod{p}=(a+b)\mod{p}\\ a\mod{p}\ -\ b\mod{p}=(a-b)\mod{p}\\ a\mod{p}\ \times\ b\mod{p}=(a\times{b})\mod{p}

但不能像上述方法一样做除法:

10\mod{3}=1\\ 5\mod{3}=2\\ \therefore \frac{10\mod{3}}{5\mod{3}}=\frac{1}{2}\\ 而\ \frac{10}{5}\mod{3}=2

所以当我们要求一个分数对模数取模时,就要使用逆元来求解。

以下给出几种求逆元的方法:

求单个逆元:

费马小定理

注意:本方法仅适用于模数 p 为质数且 \gcd(a,p)=1 时的情况!

定理1

在\ \gcd(c,p)=1\ 时\\ 若\ ac\equiv{bc}\mod{p}\\ 则\ a\equiv{b}\mod{p}

证明:

ac\equiv{bc}\mod{p}\\ ac-bc\equiv bc-bc\mod{p}\\ (a-b)c\equiv 0\mod{p}\\ \because \gcd(c,p)=1\\ \therefore a-b\equiv 0\mod{p}\\ \therefore a\equiv b \mod{p}

定理2:

若\ \gcd(a,p)=1\\ 则\ (a,2a,3a,\cdots,(p-1)a)\mod p\\ 余数取遍\ (1,2,3,\cdots,p-1)

证明

在\ \gcd(a,p)=1\ 的情况下\\ 若存在\ aj\equiv ai\mod{p}\\ 通过定理1可以知道\\ \because \gcd(a,p)=1\\ \therefore i\equiv j\mod{p}\\ 矛盾\\ \therefore若\ \gcd(a,p)=1\\ 则\ (a,2a,3a,\cdots,(p-1)a)\mod p\\ 余数取遍\ (1,2,3,\cdots,p-1)

由定理二可知:

在\ \gcd(a,p)=1\ 的情况下\\ (1,2,3,\cdots,(p-1))\ 与\ (a,2a,3a,\cdots,(p-1)a)\mod p\\ 都余数取遍\ (1,2,3,\cdots,p-1)\\ 那么两个集合内所有数相乘后\ \mod p\ 的余数相等\\ 即:\ (p-1)!\equiv(p-1)!\times{a^{p-1}}\mod{p}\\ 显然\ \gcd((p-1)!,p)=1\\ \therefore a^{p-1}\equiv 1\mod{p}\\ \therefore a\times a^{p-2}\equiv 1\mod{p}

是不是感觉最后那个式子很眼熟?

再翻到上面逆元定义的地方看一眼,

现在知道了吧,上面的 x 就对应了这里的 a^{p-2}

所以在 \gcd(a,p)=1 时,加上快速幂,我们就可以 O(\log p) 求出一个数的逆元了。

猜你想搜:

数论入门

组合数学

莫比乌斯反演

2 个赞

update 2024/7/29 9:50 补充了一点FM小定理

1 个赞