线性递推求逆元模板+简易推论

void on_NY{ inv[1] = 1; printf("%lld\n",inv[1]); for(int i = 2; i <= n; i++) inv[i]=((p - p / i) * (inv[p % i])%p)%p; }

已知 x,求 x 在 % p 的逆元
已知 p = p / x × x + j ( j = = p m o d x ) p = p / x \times x + j (j==p mod x) p=p/x×x+j(j==pmodx)

所以 p ≡ 0 ( m o d p ) p ≡ 0 (mod p) p0(modp)

所以 p / x × x + j ≡ 0 ( m o d p ) p / x \times x + j ≡ 0 ( mod p ) p/x×x+j0(modp)

k = p / x k = p / x k=p/x
k × x + j ≡ 0 ( m o d p ) k \times x + j ≡ 0 (mod p ) k×x+j0(modp)

两边同乘 x − 1 × j − 1 x^{-1} \times j^ {-1} x1×j1
k ∗ j − 1 + x − 1 ≡ 0 ( m o d p ) k * j ^{-1} + x ^ { -1 } ≡ 0(mod p) kj1+x10modp)
所以 x − 1 ≡ − k × j − 1 x^{-1} ≡ -k \times j^{-1} x1k×j1
展开 x − 1 ≡ − p / k × j − 1 x^{-1} ≡ -p/k \times j^{-1} x1p/k×j1
因为 j = = p m o d e x j==pmodex j==pmodex
所以 j 的 逆元在前面求出


__EOF__

本文作者userName
本文链接https://www.cnblogs.com/Nogtade/p/17815977.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Nogtade  阅读(23)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示