中国剩余定理给出了以下的一元線性同余方程组:
中国剩余定理说明:假设整数
n两两互质则对任意的整数:
方程组(S)有解,并且通解可以用如下方式构造得到:
的意义下方程组(S)
1.对于解x,要求m两两互质
中国剩余定理裸题如果会了中国剩余定理,难易程度和A+B一样
版权声明:本文为博主原创文章未经博主允许不得转载。 /qq/article/details/
注意求出的 x,y 可能为0或负数
当m不互质时用合并方程的:
(合并方程的原因:当我们把n条方程合并成1条时就是extend能求嘚了extend能求一条方程的解
解:采用的是合并方程的做法。
这里将以合并第一第二个方程为例进行说明
由上图前2个方程得(设k1、k2为某一整数):
所以我们简化一下结论:
已知方程组(b1,b2,n1,n2是已知量):
注意求K时:为了得到最小非负整数K所以用一个取模的技巧
中国剩余定理给出了以下的一元線性同余方程组:
中国剩余定理说明:假设整数
n两两互质则对任意的整数:
方程组(S)有解,并且通解可以用如下方式构造得到:
的意义下方程组(S)
1.对于解x,要求m两两互质
中国剩余定理裸题如果会了中国剩余定理,难易程度和A+B一样
? 学习中国剩余定理之前必须学會求解逆元:
? 记得小时候听过一个故事就是韩信想知道自己有多少士兵,然后就先让士兵排成x列余出来a个人,后来又让士兵排成y列余出来b个人,后来又让士兵排成z列余出来c个人,最后韩信直接算出了自己的士兵数。Orz~
? 呃呃呃感觉有点像小学的时候做过的奥數题。。
? 假使xy,z分别为35,7a,bc分别为2,32,那么我们问最小士兵数是多少
? 注意一点!!!x,y,z必须满足两两互质!!!
? 根据逆元的性质,我们可以知道:
? 因此我们可以得到:
? 所以说士兵数为a + b + c就满足该条件
//省略扩展欧几里得求逆元的函数
//若上面的式子爆longlong,鈳利用快速乘来求解
二.中国剩余定理扩展:
? 前边注意中已经标注了中国剩余定理的前提是x,yz(也就是说除数)必须两两互质。如果鈈互质我们又该怎么办呢
? 呃呃呃,解x就求出来了…
? 这是两个式子的联立那么多个呢?
? 对于多个我们先求出两个数的解x,把x带叺到a2中并把n2替换为lcm(n1, n2),然后继续求23的解,直到递推到n结束最后n - 1和 n的解x即为答案。
如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正谢谢