【数论基础】线性求逆元

本文介绍了线性求解连续n个逆元的方法,通过线性关系推导出求逆元的公式,并展示了如何利用前缀积求解不同数字的逆元。文中还提供了两个例题,一个是线性求逆元的应用,另一个涉及逆元在乘法运算中的简化统计过程。

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

线性求解连续的n个逆元

线性求解n个数字的逆元,需要找到新元素的逆元同以往求解过逆元的关系。
以下面式子举例,对于要求解逆元的k,模数为p,有:
p = a k + b ( b < a , k ) p=ak + b \\ (b < a,k) p=ak+b(b<a,k)
进而有:
a k + b ≡ 0   ( m o d   p ) ak + b \equiv 0\, (mod\,p) ak+b0(modp)
两边同时乘以k-1b-1,得到:
a b − 1 + k − 1 ≡ 0   ( m o d   p ) ab^{-1} + k^{-1} \equiv 0\,(mod\,p) \\ ab1+k10(modp)

k − 1 ≡ − a b − 1   ( m o d   p ) k^{-1}\equiv-ab^{-1}\,(mod\,p) k1ab1(modp)
我们知道,
a = ⌊ p k ⌋ b = p   m o d   k a=\left \lfloor p \over k\right \rfloor \\ b=p\,mod\,k a=kpb=pmodk
因此,有
k − 1 ≡ − ⌊ p k ⌋ ( p   m o d   k ) − 1 k^{-1}\equiv - \left \lfloor p\over k\right \rfloor(p\,mod\,k)^{-1} k1kp

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值