乘法逆元

问题

给定\(a\)\(b\),保证\(a\)\(b\)互质,求\(ax\equiv1\pmod{b}\)

求解方式1

扩展欧几里得能求\(ax+by=\gcd(a,b)\),因为a与b互质,等价于求\(ax+by=1\),即\(ax=1-by\),就等同于求\(ax\equiv1\pmod{b}\)

求解方式2

根据费马小定理易知当\(b\)为质数时,在\(a^{b-1}\equiv1\pmod{b}\),故\(ax\equiv a^{b-1}\pmod{b}\),得\(x\equiv a^{b-2}\pmod{b}\)

求解方式3

可以线性递推,设\(b=kc+d\),则

\[kc+d\equiv 0\pmod{b} \]

\[k*inv(d)+inv(c)\equiv 0\pmod{b} \]

\[inv(c)\equiv {-k*inv(d)}\pmod{b} \]

\[inv(c)\equiv {-\left\lfloor\dfrac{b}{c}\right\rfloor*inv(b\pmod{i})}\pmod{b} \]

\[inv(c)\equiv {(b-\left\lfloor\dfrac{b}{c}\right\rfloor)*inv(b\pmod{i})}\pmod{b} \]

故可以根据此式线性递推逆元

posted @ 2023-05-03 09:26  蒻蒟cdx  阅读(7)  评论(1编辑  收藏  举报