求解\(a*x≡1(\mod p)\)中的\(x\)。spa
方法一:扩展欧几里德定理blog
将方程变为:\(a*x+b*y=1\)便可。get
方法二:欧拉定理class
若\((a,n)=1\),有\(a^{\phi(n)}≡1(\mod n)\)。基础
请注意该方法的使用条件。原理
方法三:费马小定理扩展
\(a^p≡a(\mod p)\)(\(p\)为质数)方法
请注意该方法的使用条件。总结
求解\(1\)~\(n\)全部数关于\(p\)的数论倒数。co
考虑递推:\(p=k*i+r\),则有:\(k*i+r≡0(\mod p)\),两式同时乘以\(i^{-1}\)和\(r^{-1}\),得:\(i^{-1}≡-k*r^{-1}(\mod p)\),线性递推。
求解阶乘的全部数论倒数。
考虑使用费马小定理求解\(n!^{-1}\),而后有:\(i!^{-1}≡(i+1)^{-1}*(i+1)\)。
参考资料:https://www.luogu.com.cn/blog/zjp-shadow/cheng-fa-ni-yuan