线性同余方程组
之前一直有些疑惑……在群里问了下,ydc神犇的回复解决了我的疑惑,写篇博客记录一下这个做法。
对于线性同余方程组:
a1*x≡b1 (mod c1)
a2*x≡b2 (mod c2)
……
an*x≡bn (mod cn)
1.若有c1、c2、c3、……cn两两互质,则可以用中国剩余定理直接算出可行解(唯一解?)x
2.若不满足模数两两互质,则:
设最后的解为X
我们利用扩展欧几里得可以算出一个可行解x1满足:
a1*x1≡b1 (mod c1)
那么对于第二个方程 a2*x≡b2 (mod c2),X一定满足 X mod lcm(c1,x2)=x1
所以前两个方程可直接合并成 x mod lcm(c1,c2)=x1;
这样依次合并下去……
UPD:(2015年2月6日 16:26:11)
找到一篇文章:http://www.cnblogs.com/yefeng1627/archive/2012/12/31/2841058.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步