码迷,mamicode.com
首页 > 其他好文 > 详细

Chinese remainder theorem 中国剩余定理

时间:2017-08-08 19:43:53      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:剩余定理   观察   意义   欧几里得   chinese   扩展欧几里得   mod   main   扩展   

中国剩余定理:

x ≡ a1 (% m1)
x ≡ a2 (% m2)
.
.
.
x ≡ an (% mn)

m1,m2...mn 互质。
我们求里面的x,就会用到中国剩余定理。
首先将 x 看成 s ,则
s ≡ a1 (% m1) 1式
s + m1 * y = a1
另 M = m1 * m2 * m3 * m4 * ... * mn
Mi = M / mi

因为 m1,m2...mn 互质
所以 (Mi, mi) = 1
所以 可以表示成 Mi * x + mi * y = 1 2式
所以 Mi * x = 1 (% mi)
也就是说 x 为 mi 下 Mi 的逆
将 2式 扩大 a1 倍得到 Mi * x * a1 + mi * y * a1 = 1; 3式
因为 y * a1 是 % mi 的次数 ,可以写成 y
所以 3式 <=> Mi * x * a1 + mi * y = 1;
观察 1式 与 3式 得
s = Mi * xi * a1 (xi 为 Mi 在%mi 意义下的逆元)

由于有n个式子,那么
S=∑ai * Mi *xi(其中x为Mi逆元,求逆元我们可以用之前学的扩展欧几里得)
将结果mod M,得到最小解

Chinese remainder theorem 中国剩余定理

标签:剩余定理   观察   意义   欧几里得   chinese   扩展欧几里得   mod   main   扩展   

原文地址:http://www.cnblogs.com/lyqlyq/p/7308211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!