我们经常在做题时会看到这样一句话:由于答案较大,请输出答案mod m的结果。(其中m一般为一个大质数)
我们经常会使用以下几个等式:
(a+b)≡(amodm+bmodm)(modm)
(a−b)≡(amodm−bmodm+m)(modm)(a>b)
(a×b)≡(amodm×bmodm)(modm)
但是很容易发现,这三个等式中并没有除法。
那我们怎样处理除法呢? 这里就要使用到逆元。
我们定义若b×b1modc=1,则称b1为b模c的乘法逆元。
并且有 (a÷b)modc=(a×b1)modc。(其中a÷b为整除)
证明(反证法):
假设b×b1,则(a÷b)modc≠(a×b1)
令,a÷b=k1×c+y1, a×b1=k2×c+y2
<=>若b×b1modc=1,则 y1≠y2
两式相减,则a÷b−a×b1=(k1−k2)×c+(y1−y2)
设 k=k1−k2,y=y1−y2
有,a÷b−a×b1=k×c+y
左右乘以b,有 a×(1−b×b1)=k×b×c+b×y
左右模上c,
左边 =a×(1−b×b1)modc
=(a×(1modc−b×b1modc))modc
=0
右边 =(k×b×c+b×y)modc
=b×ymodc
a÷b为整除,b显然不会是0,那么y必须是0,这与命题矛盾,证毕