求逆元

*洛谷P3811 乘法逆元

1.费马小定理: \(x' = x^{p-2}\)

2.线性递推求逆元:设 \(x'\) 表示 \(x\) 的逆元

对于 \(i\) ,求出 $t = p / i ,k = p % i $ 。

\(p = t \times i + k\)

所以 \(t \times i + k \equiv 0 ~(mod ~~p)\)

所以 \(t \times i \equiv -k ~(mod~~p)\)

左右同乘 \(i'k'\)

\(t \times k' \equiv -i' ~(mod~~p)\)

\(i' \equiv -t \times k' ~(mod~~p)\)

写成代码就是

inv[1] = 1;
for(int i = 2; i <= n; ++i)
	inv[i] = ((-(p / i) * inv[p % i]) % p + p) % p;
posted @ 2022-05-13 15:55  Faker_yu  阅读(36)  评论(0)    收藏  举报