中国剩余定理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。

注释:三数为a b c,余数分别为m1 m2 m3,%为求今年余计算,&&是“且”运算。

孙子定理

孙子定理

1、分别找出能被两个数整除,而满足被第三个整除余一的最小的数。

k1%b==k1%c==0 && k1%a==1;

k2%a==k2%c==0 && k2%b==1;

k3%a==k3%b==0 && k3%c==1;

2、将三个未知数乘对应数字的余数再加起来,减去这三个数的最小公倍数的整数倍即得结果。

Answer = k1×m1 + k2×m2 + k3×m3 - P×(a×b×c);

P为满足Answer > 0的最大整数;

或者Answer = (k1×m1 + k2×m2 + k3×m3)%(a×b×c) ;

解题思路:

令某数为M,令素数为A,B,C,D,…,Z,已知M/A余a,M/B余b,M/C余c,M/D余d,…,M/Z余z。求M=?

因为A,B,C,D,…,Z为不同的素数,故,B*C*D*…*Z不可能被A整除,有等差数列(B*C*D*…*Z)+(B*C*D*…*Z)N中取A个连续项,这A个连续项分别除以A的余数必然存在0,1,2,

3,…,A-1,所以,从这A个连续项中能寻找到除以A余1的数。再用除以A余1的这个数*a其积必然除以A余a,这个除以A余a 的数,为能够被素数B*C*D*…*Z整除的数,为第一个数;

再按同样的道理,从A*C*D*…*Z的倍数中寻找除以B余b的数,该数具备被素数A,C,D,…,Z整除的特性,为第二个数;

因为,第一个数除以A余a,第二个数能被素数A,C,D,…,Z整除,即能被A整除,所以,第一个数+第二个数之和,仍然保持除以A余a;

同理,第二个数除以B余b,因第一个数能被B整除,所以,第二个数+第一个数之和,仍然保持除以B余b。即,第一个数+第二个数之和,为满足除以A余a,除以B余b。

依此类推,按上面的方法寻找到除以各素因子的余数的数之总和,为满足除以各素因子余数的条件的数。总和再减去能被这几个素数共同整除的数(A*B*C*D*…*Z)N后,其差仍然保持除以各素因子余数的条件的数。由此构成孙子定理的解法。

(中国剩余定理CRT)设m1,m2,...,mk是两两互素的正整数,即gcd(mi,mj) =1,i≠j,i,j = 1,2,...,k

则同余方程组:

x≡b1 (mod m1)

x≡b2 (mod m2)

...

x≡bk (mod mk)

模[m1,m2,...,mk]有唯一解,即在[m1,m2,...,mk]的意义下,存在唯一的x,满足:

x≡bi mod [m1,m2,...,mk],i = 1,2,...,k

《孙子算经》中的标题:有些东西不知道数字,三是二,五是三,七是二。东西的总数是多少?

《孙子经》的解法:三个或三个数字,取数字七十,然后乘以其余两个;5到5个数字,将数字21乘以余数3;取七个或七个数字,取十五,然后乘以其余两个。将乘积相加并减去一百零五。

相关文档
最新文档