逆元
证明
反证
若b*b1 % c == 1,则( a/b ) % c != ( a*b1 ) % c
若我们证明这一命题是错误的,我们目的就达到了。
令,a/b == k1*c+y1
a*b1 == k2*c+y2
原来的证明则变成了:若b*b1 % c == 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)%c
== ( a*( 1%c - b*b1%c ) )%c
== 0
右边 == (k*b*c + b*y)%c
== b*y%c
因为a/b为整除,b显然不会是0,那么y必须是0,这与命题矛盾,证毕
证:
因为 b * k ≡ 1 (mod p)
则有 b * k = p* x+1
得到 k = (p * x + 1) / b
将 k 代入(a * k) mod p
得到:
(a * (p * x + 1) / b) mod p
=((a * p * x) / b + a / b) mod p
=[((a * p * x) / b) mod p +(a / b)] mod p
=[(p * (a * x) / b) mod p +(a / b)] mod p
=(0 + (a / b)) mod p
= (a/b) mod p