逆元
首先我们来了解什么是逆元;
加法中一个元素的逆元就是它的负数,因为单位元是0;
乘法的单位元是1,乘法中的逆元就是 x*y ≡ 1 mod m 则称y为x的逆元。x的逆元存在有一个条件,即x和m的最大公因子为1,为什么呢?
因为我们的辗转相除法有一个定理,xp + mq = 1。
这里x和m的最大公因子为1。
由这个我们可以得到xp mod m = 1即xp ≡ 1 mod m 这时我们就可以得到x的逆元为p。但此时x和m必须互素。(其实真实的证明我也不会,网上搜也好像没找到)
模运算
我们一般常用的就是:(符合乘法加法和减法的分配律和结合律)
(x*y)modm = (xmodm * ymodm) modm
(x+y)modm = (xmodm + ymodm) modm
由这两条我们就可以得出我们在乘法或者加法运算时,如果最后结果取模的话我们可以在过程中无限取模。(大数运算)
有一点我们需要牢记即模的本质:
x≡ymodm => m/(x-y) 即x-y能被m除尽。
还有一点需要注意的就是:
x * p modm = y * p modm
两边不能约分,因为我们的约分本质上是逆运算,但是很可能p没有逆元,所以我们不能直接得出 x modm = y modm。
需要一个条件即p和m互素
写的东西都是基于自己的一些思考,可能有不精确的,还请指正。