中国剩余定理 CRT

匿名 (未验证) 提交于 2019-12-02 23:49:02

1. 一条数学公式:如果有 a%b=c, 则有 (a+kb)%b=c(k 为非零整数)

2. 用途:求解一次线性同余方程组,需要将模数转化为素数来求解的题目

3. (N/mi)yi1(modmiyi(N/m1)+qm1=1 (若mi互质,1=gcd(N/m1,m1))

//hoho,前面一大堆乱七八糟的困得时候写的,重新来

前提:mi两两互质 --》可推出任意ai方程组都有解

假设:

求解:所以方程组的通解形式为 x=a1t1M1+a2t2M2+...+antnMn+kM, k∈Z

在模M的意义下,方程组只有一个解 x=(a1t1M1+a2t2M2+...+antnMn)mod M

①求基础数的方法:(1) while自增,用其他数的最小公倍数不断自增,直到余数满足条件

         (2) 辗转相除法,联系乘法逆元。

证明:

j

除此之外,参考百科(真的看不懂了orz

联系孙子算法的那题,就是:已知m1,m2,m3是两两互质的正整数,求最小的正整数x,使它被m1,m2,m3除所得的余数分别是c1,c2,c3。

(1) 先求出Mi 即不被mi整除,但被其他两个数整除的数

(3) 这么搞则得到满足题意的数c1M1+c2M2+c3M3,但它不一定最小,如果比lcm小的话减一下就好。

tips:①定理:两个数相加,如果一个能被a整除,一个不能,那么它们的和,就不能被整数a整除。然后根据这条定理,步骤(3)即可证,为了得到最小,用最小公倍数(因为最小公倍数是能同时被所有数整除的最小数,运用定理,减去后还是满足条件(加或减看两者大小)

   ②基础数可能为负

4. 扩展CRT: m1,m2,m3..不一定互质

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!