一、除法取模逆元
在算法设计中,常会遇到求 a/b mod m的计算,当a很大,或者b很大,使得a/b的值无法直接计算的时候,通常采用逆元的方法,化除法为乘法。(逆元的概念在离散数学中 有学习)
a/b mod m 等价计算为 a*k mod m (k是b的模m乘法逆元)
证明过程:
由于k是b的模m乘法逆元。 即 b*k mod m == 1
b*k = xm + 1
k = (xm+1) / b
则 a * k mod m = a * (xm + 1) / b mod m
= a/b * (xm + 1) mod m
= xa/b * m mod m + a / b mod m
= a / b mod m