线性递推逆元

p p p是素数
首先 1 − 1 ≡ 1   m o d    p 1^{-1}\equiv1\ mod\;p 111 modp
p = k i + r ( 0 ≤ r < i ) p=ki+r(0\le r<i) p=ki+r(0r<i),则
k i + r ≡ 0   m o d    p 乘 i − 1 k + r i − 1 ≡ 0   m o d    p 乘 r − 1 k r − 1 + i − 1 ≡ 0   m o d    p i − 1 ≡ − k r − 1   m o d    p \begin{aligned} ki+r&\equiv0\ mod\; p\quad 乘i^{-1}\\ k+ri^{-1}&\equiv0\ mod\; p\quad乘r^{-1}\\ kr^{-1}+i^{-1}&\equiv0\ mod\; p\\ i^{-1}&\equiv-kr^{-1}\ mod\;p\\ \end{aligned} ki+rk+ri1kr1+i1i10 modpi10 modpr10 modpkr1 modp

inv[1] = 1;
for(int i = 2; i < p; ++ i)
    inv[i] = (p - p / i * inv[p % i]) % p;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值