线性求逆元

本文介绍了线性求逆元的原理与递推公式。通过数学推导展示如何利用p=k*i+r的形式来求解i的逆元,并给出具体的递推公式A[i]=-(p/i)*A[p%i]。此外,还提到了可以通过递归方式计算单个数的逆元。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#线性求逆元

  1. 1−1≡1(mod p)1^{-1}\equiv1(mod\ p)111(mod p)
  2. p=k∗i+r,r<i,1<i<pp=k*i+r,r<i,1<i<pp=ki+r,r<i,1<i<p
  3. k∗i+r≡0(mod p)k*i+r \equiv 0 (mod\ p)ki+r0(mod p)
  4. 两边同事乘上i−1∗r−1i^{-1}*r^{-1}i1r1得到
  5. k∗r−1+i−1≡0(mod p)k*r^{-1}+i^{-1}\equiv0 (mod\ p)kr1+i10(mod p)
  6. i−1≡−k∗r−1(mod p)i^{-1}\equiv-k*r{-1}(mod \ p)i1kr1(mod p)
  7. i−1≡−∣pi∣∗(pmodi)−1(mod p)i^{-1}\equiv-|\frac{p}{i}|*(p\quad mod\quad i)^{-1}(mod\ p)i1ip(pmodi)1(mod p)
  8. 所以递推公式为
  9. A[i]=−(p/i)∗A[p%i]A[i]=-(p/i)*A[p \% i]A[i]=(p/i)A[p%i]
  10. 同时也可以用log(p)次计算出单个数的逆元,-----用递归的方式求需要计算的元素即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GDRetop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值