中国剩余定理
什么是中国剩余定理

什么是中国剩余定理?剩余定理详细解法中国数学史书上记载:在两千多年前的我国古代算书《孙子算经》中,有这样一个问题及其解法:今有物不知其数,三三数之剩二;五五数之剩三:七七数之剩二。
问物几何?意思是说:现在有一堆东西,不知道它的数量,如果三个三个的数最后剩二个,如果五个五个的数最后剩三个,如果七个七个的数最后剩二个,问这堆东西有多少个?你知道这个数目吗?《孙子算经》这道著名的数学题是我国古代数学思想“大衍求一术”的具体体现,针对这道题给出的解法是:N=70×2+21×3+15×2-2×105=23如此巧妙的解法的关键是数字70、21和15的选择: 70是可以被5、7整除且被3除余1的最小正整数,当70×2时被3除余2 21是可以被3、7整除且被5除余1的最小正整数,当21×3时被5除余3 15是可以被3、5整除且被7除余1的最小正整数,当15×2时被7除余2 通过这种构造方法得到的N就可以满足题目的要求而减去2×105 后得到的是满足这一条件的最小正整数。
韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。
刘邦茫然而不知其数。
我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少?首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然后再加3,得9948(人)。
中国有一本数学古书「孙子算经」也有类似的问题:「今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?」答曰:「二十三」术曰:「三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。
中国剩余定理(孙子定理)详解

中国剩余定理(孙⼦定理)详解问题:今有物不知其数,三三数之剩⼆,五五数之剩三,七七数之剩⼆。
问物⼏何?简单点说就是,存在⼀个数x,除以3余2,除以5余三,除以7余⼆,然后求这个数。
上⾯给出了解法。
再明⽩这个解法的原理之前,需要先知道⼀下两个定理。
定理1:两个数相加,如果存在⼀个加数,不能被整数a整除,那么它们的和,就不能被整数a整除。
定理2:两数不能整除,若除数扩⼤(或缩⼩)了⼏倍,⽽被除数不变,则其商和余数也同时扩⼤(或缩⼩)相同的倍数(余数必⼩于除数)。
以上两个定理随便个例⼦即可证明!现给出求解该问题的具体步骤:1、求出最⼩公倍数lcm=3*5*7=1052、求各个数所对应的基础数(1)105÷3=3535÷3=11......2 //基础数35(2)105÷5=2121÷5=4 (1)定理2把1扩⼤3倍得到3,那么被除数也扩⼤3倍,得到21*3=63//基础数633、105÷7=1515÷7=2 (1)定理2把1扩⼤2倍得到2,那么被除数也扩⼤2倍,得到15*2=30//基础数30把得到的基础数加和(注意:基础数不⼀定就是正数)35+63+30=1284、减去最⼩公倍数lcm(在⽐最⼩公倍数⼤的情况下)x=128-105=23那么满⾜题意得最⼩的数就是23了。
⼀共有四个步骤。
下⾯详细解释每⼀步的原因。
(1)最⼩公倍数就不解释了,跳过(记住,这⾥讨论的都是两两互质的情况)(2)观察求每个数对应的基础数时候的步骤,⽐如第⼀个。
105÷3=35。
显然这个35是除了当前这个数不能整除以外都能够被其他数整除,就是其他数的最⼩公倍数。
相当于找到了最⼩的起始值,⽤它去除以3发现正好余2。
那么这个基础数就是35。
记住35的特征,可以整除其他数但是不能被3整除,并且余数是2。
体现的还不够明显,再看下5对应的基础数。
21是其他数的最⼩公倍数,但是不能被5整除,⽤21除以5得到的余数是1,⽽要求的数除以5应该是余1的。
中国剩余定理

m1 3
m2 5
取
M1 1
M2 1
M3 1
则唯一解为
x 35 (1) 2 211 3 15 1 2 (mod 105) 23
例2 求最小的正整数 n, 使得 n 被 3,5,11 除的 余数分别是 2,3,5
解 对 x 2(mod 3),x 3(mod 5), x 5(mod 11)
x bk (mod mk ) 则 (*) 有解 (mi , m j ) | ai a j
(*)
x 2(mod 3), x 3(mod 5), x 2(mod 7)
a 2 (mod 3), a 0 (mod 5), a 0 (mod 7) b 0 (mod 3), b 3 (mod 5), b 0 (mod 7) c 0 (mod 3), c 0 (mod 5), c 2 (mod 7)
设 因此
g i ( x) (ai a1 )(ai ai 1 )(ai ai 1 )(ai an )
( x a1 )( x ai 1 )( x ai 1 )( x an )
中国剩余定理的代数表示 设 m 1, 则
m 的标准分解式为 m p1 p2 ps
习题
求解 f ( x) 0(mod 35)
f ( x) x 2 x 8 x 9
4 3
1 求最小的正整数 n,使得它的 是一个平方数, 2 1 1 是一个立方数, 是一个5次方数. 3 5
广义的中国剩余定理 设
x b1 (mod m1 ), x b2 (mod m2 ),
(mod 60)
求解
f ( x) 0(mod m)
中国剩余定理

中国剩余定理
《孙子算经》有云:
今有物不知其数,三三数之剩二;五五数之剩三;七七数之剩二。
问物几何?答曰:二十三。
设”此物”为x,则x满足同余方程组:
若存在x满足上述方程组,则也满足该方程其中k任意整数,方程的最小正整数解满足,即对3,5,7的最小公倍数求余。
在介绍求x的具体方法之前,先介绍两个简单的定理(证明从略):
1.被除数增加(或减少)除数的倍数,除数不变,则余数电不变;
2.被除数扩大(或缩小)指定的倍数,除数不变,则余数扩大(或缩小)同样的倍数(余数总小
于除数)。
接下来,我们这样构造满足条件的x:x由三项相加得出,其中第一项是5和7的倍数且被3除余2,第二项是3和7的倍数且被5除余3,第三项是3和5的倍数且被7除余2。
即。
又由于:
所以,于是
;
所以;
所以.
最后,
反复观察上述构造过程,我们就不难从中找出规律,而这个规律就是下面要介绍的中国剩余定理,又称孙子定理。
它说的是,设为互质整数。
为最小公倍数。
又有关于W的同余方程组如下:
该方程组有且仅有解
其中,
为调整因子,使得。
中国剩余定理ppt

m = n / w[i];
d = extended_euclid(w[i], m, x, y);
ret = (ret + y*m*b[i]) % n;
}
return (n + ret%n) % n;
}
模板:最大公约数
int gcd(int a,int b) {
if(0 == a )
return b;
int flag;
while (scanf ("%I64d", &n) != EOF){
scanf ("%I64d%I64d", &m1, &a1);
n--; flag = 0;
while (n--) {
scanf ("%I64d%I64d", &m2, &a2);
d = exGcd (m1, m2, x, y);
e==-1 && d==-1)){
j++;
k=(p*5544+e*14421+i*1288-d+21252)%21252;
if(k>0)
printf("Case %d: the next triple peak occurs in %d days、
\n",j,k);
else
printf("Case %d: the next triple peak occurs in 21252 days、
一些关于中国剩余定理得定理:
定理2:二数不能整除,若被除数扩大(或缩小) 了几倍,而除数不变,则其余数也同时扩大(或 缩小)相同得倍数(余数必小于除数)。
中国剩余定理简介

中国剩余定理简介在《孙⼦算经》中有这样⼀个问题:“今有物不知其数,三三数之剩⼆(mod3=2),五五数之剩三(mod5=3),七七数之剩⼆(mod7=2),问物⼏何?”这个问题称为“孙⼦问题”,该问题的⼀般解法国际上称为“中国剩余定理”。
具体解法分下⾯三步:1、找出三个数:从3和5的公倍数中找出被7除余1的最⼩数15,从3和7的公倍数中找出被5除余1 的最⼩数21,最后从5和7的公倍数中找出除3余1的最⼩数70。
2、⽤15乘以2(2为最终结果除以7的余数),⽤21乘以3(3为最终结果除以5的余数),同理,⽤70乘以2(2为最终结果除以3的余数),然后把三个乘积相加15∗2+21∗3+70∗215∗2+21∗3+70∗2得到和233。
3、⽤233除以3、5、7的最⼩公倍数105,得到余数23,这个余数23就是符合条件的最⼩数。
很神奇,是吧?我们逐步剖析。
我们第⼀⽬标是求⼀个数n符合条件,⽽不需最⼩。
我们先假设n1是满⾜mod3=2的任意⼀个数,n2是满⾜mod5=3的任意⼀个数,n1是满⾜mod7=2的任意⼀个数。
如果想要(n1+n2)也mod3=2,n2必须是3的倍数(易证)。
如果想要(n1+n2+n3)也mod3=2,n3也得是3的倍数。
归纳得要想(n1+n2+n3)同时满⾜mod3=2,mod5=3,mod7=2,必须有:1. n1mod3=2 && 5|n1 && 7|n12. n2mod5=3 && 3|n2 && 7|n23. n3mod7=5 && 3|n3 && 5|n3于是只需要在5,7的倍数中找⼀个mod3=2的作为n1,在3,7的倍数中找⼀个mod5=3的作为n2,在3,5的倍数中找⼀个mod7=2的作为n3即可。
解决这个⼩问题孙⼦⼜⽤了⼀个⼩技巧。
就是不是先找mod3=2的,⽽是先找mod3=1的再把它乘2⾃然它就mod3=2了。
中国剩余定理简单公式

中国剩余定理简单公式中国剩余定理,又称孙子定理,是一种用来求解一类模线性方程组的方法。
它的基本思想是将一个复杂的方程组化简成一些简单的方程,并通过求解这些简单方程来得到原方程的解。
中国剩余定理的简单公式可以表示为:假设给定一组模数m1, m2, ..., mn,并且这些模数两两互素(即最大公约数为1),同时给定一组余数a1, a2, ..., an,那么存在一个整数x,满足以下条件:x ≡ a1 (mod m1)x ≡ a2 (mod m2)...x ≡ an (mod mn)其中≡表示'同余'关系,即两个数除以某个数的余数相等。
中国剩余定理的求解过程可以按照以下步骤进行:1. 计算模数的乘积M = m1 * m2 * ... * mn。
2. 计算每个模数除以M的余数Mi,即 Mi = M / mi。
3. 计算Mi关于模数mi的乘法逆元ni,即满足 Mi * ni ≡ 1 (mod mi)。
4. 计算解x,即 x = (a1 * Mi * ni + a2 * Mi * ni + ... + an * Mi * ni) % M。
通过以上步骤,就可以得到模线性方程组的解x。
中国剩余定理在密码学、编码理论、计算机科学等领域有着重要的应用。
它可以高效地求解大数模运算问题,同时也可以用来对数据进行加密和解密,保护数据的安全性。
此外,中国剩余定理还可以用来加速计算,提高算法的效率。
总结起来,中国剩余定理是一种非常有用的数学工具,它通过将复杂的方程组转化为简单的方程,大大简化了问题的求解过程。
无论是在理论研究还是实际应用中,中国剩余定理都具有重要的价值和意义。
中国剩余定理

中国剩余定理先提醒大家过去曾经有过的一个经验.如果整数a除以整数b所得余数是1,那么,整数a的2倍、3倍、4倍、……、(b-1)倍除以整数b所得的余数就分别是1×2=2,1×3=3,1×4=4,…………1×(b-1)=b-1.例如,15÷7=2……余1,即2×15÷7=4 (2)3×15÷7=6 (3)4×15÷7=8 (4)5×15÷7=10 (5)6×15÷7=12 (6)还请大家注意一条经验.从某数a中连续减去若干个b后,求所得的要求小于数b的差数,实际上就是求数a 除以数b所得的余数.例如,从758里连续减去若干个105后,求所得的要求小于105的差数,实际上就是求758除以105所得的余数.即758÷105=7 (23)下面我们就来研究“孙子问题”.在我国古代算书《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”意思是,“一个数除以3余2,除以5余3,除以7余2.求适合这个条件的最小数.”这个问题称为“孙子问题”.关于孙子问题的一般解法,国际上称为“中国剩余定理”.实际上,上面的问题我们可以这样来想:分别写出除数3、5、7的两两公倍数.如下表:我们在第一组数中选出合乎“除以7余2”的较小数——30;在第二组数中选出合乎“除以5余3”的较小数——63;在第三组数中选出合乎“除以3余2”的较小数——35.根据和的整除性,可知30+63+35=128一定是一个同时合乎“被3除余2,被5除余3,被7除余2”的数(为什么?),但是不一定是最小的.要得到合乎条件的最小数,只要从中减去3、5、7的最小公倍数的若干倍,使得差数小于这个最小公倍数就是了.3、5、7的最小公倍数是3×5×7=105,因此,由于前面的经验二,可知128÷105=1 (23)这个余数23就是要求的合乎条件的最小数.有意义的是,虽然孙老先生的解法也是从对上表的思索得到的,但他的解法更具有一般性.亲爱的读者,你能猜想到孙子的一般解法吗?【规律】一个数除以3余2,除以5余3,除以7余2,求适合这个条件的最小数.孙子的解法是:先从3和5、3和7、5和7的公倍数中相应地找出分别被7、5、3除均余1的较小数15、21、70.即15÷7=2 (1)21÷5=4 (1)70÷3=23 (1)再用找到的三个较小数分别乘以被7、5、3除所得的余数的积连加,15×2+21×3+70×2=233.最后用和233除以3、5、7三个除数的最小公倍数.233÷105=2 (23)这个余数23就是合乎条件的最小数.以上三个步骤适合于解类似“孙子问题”的所有问题.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B ÷ a =d 还原 d × a = B (二维).
D ÷ C ( 即 i × a )=a... A 还原 i × a × a + A = C + A = D (三维).
C ÷ i =a 还原 i × a = C (二维) C ÷ d =a...A 还原 d × a + A = C (二维).
D ÷ C ( 即 i × a )=a... A 还原 i × a × a + A = C + A = D (三维).
FD ÷ CF =1... D 还原 1× CF + D = FD .
FD ÷ I =2... D
还原
2 × I + D = FD .
ABA ÷ I =3... D 还原 3 × I + D = ABA . ABA ÷ D =5... A 还原 5 × D + A = ABA .
立方根式 3 Λ 个数的自然系数 “ n ”的剩余除法及还原
G ÷ d =d ...C 还原 d × d +C = D + C = G 对应于 2 × 2+3 = 4 + 3 = 7 .
G ÷ p =a...C 还原 p × a +C = D + C = G 对应于 4 ×1+3 = 4 + 3 = 7 .
H ÷ i =d ...B 还原 i × d +B = F + B = H
4 × 2+2 = 8 + 2 = 10 .
10.2 三维积整数 Λ 的一次余除与二次余除 10.2.1 二次除法 10.2.2 二次除法 二次余除 10.2.3 二次余除 10.2.4 二次除法 10.2.5 二次除法
C ÷ B ( 即 d × a )=a... A 还原 d × a × a + A = B + A = C (三维).
还原
3
5 × 3 H + 3 A = 3 ACCA .
3
BAIG ÷ 3 AOOO =1... 3 BG 还原 1× 3 AOOO + 3 BG = 3 BAIG .
103
10.4.7
3
BAIG ÷ 3 ABE =2... 3 BG 还原
2 × 3 ABE + 3 BG = 3 BAIG .
特别声明:本文的代数符号对应于数的计算设定为 1 特别设定:序列且有形的十个一维线性平方根代数符号对应于 0 ~ 9 十个序列的数字 为 o, a , d , i , p , y ,
O< A< D< I < AF < BE< CF< DI < FD< HA< AOO< ABA< ADD 对应于 0< 1< 4< 9< 16< 25< 36< 49< 64< 81< 100< 121< 144 序列成立 且顺应自然哲学逻辑法则.
2 特别设定:序列且有形的十个二维两个平方根乘积整数的代数符号对应于 0 ~ 9 十个 序列的数字为 O, A, B, C , D, E , F , G , H , I = 0,1, 2, 3, 4, 5, 6, 7,8,9 , 因此, O = 0 , A = 1 ,
D ÷ i =a...A
还原 i × a + A = D (二维).
E ÷ C ( 即 i × a)=a...B 还原
i × a × a + B = C + B = E (三维).
C ÷ i =a 还原 i × a = C (二维). C ÷ d =a...A 还原 d × a + A = C (二维).
还原 对应于 6 ×1+3 = 6 + 3 = 9 . 还原 对应于 7 ×1+2 = 7 + 2 = 9 . AO ÷ i =i...A 还原 i × i +A = I + A = AO 对应于 3 × 3+1 = 9 + 1 = 10 .
AO ÷ p =d ...B 还原 p × d +B = H + B = AO 对应于
对应于 3 × 2+2 = 6 + 2 = 8 .
H ÷ y =a...C 还原 y × a +C = E + C = H 对应于 5 ×1+3 = 5 + 3 = 8 .
还原
+ B = 6 A + B = F + B = i × d + B = H 对应于 3 × 2+2 = 8 . + A = G + A = H 对应于 7 ×1 + 1 = 7 + 1 = 8 .
101
10.1.1.5 F ÷ y =a...A 还原 y × a +A = E + A = F 对应于 5 ×1+1 = 5 + 1 = 6 . 10.1.1.6 10.1.1.7 10.1.1.8 10.1.1.9 10.1.1.10 10.1.1.11
G ÷ y =a...B 还原 y × a +B = E + B = G 对应于 5 ×1+2 = 50.1.1.13 10.1.1.14 10.1.1.15 10.1.1.16 10.1.1.17 10.1.1.18 10.1.1.19
还原
I ÷ d =p...A 还原 d × p +A = H + A = I 对应于 4 × 2+1 = 8 + 1 = 9 . I ÷ p =d ...A 还原 p × d +A = H + A = I 对应于 2 × 4+1 = 8 + 1 = 9 . I ÷ y =a...D 还原 y × a +D = E + D = I 对应于 5 ×1+4 = 5 + 4 = 9 .
3
BG ÷ 3 H =1... 3 A FD ÷ 3 BG =1... 3 A ABE ÷ 3 H =2... 3 A
还原 还原 还原
1× 3 H + 3 A = 3 BG . 1× 3 BG + 3 A = 3 FD . 2 × 3 H + 3 A = 3 ABE .
3
3
3
ABE ÷ 3 BG =1... 3 H 还原 1× 3 BG + 3 H = 3 ABE ACCA ÷ 3 H =5... 3 A
平方根式 Λ 个数的自然系数“ n ”的剩余除法
I ÷ D =1... A AF ÷ I =1... A BE ÷ I =1... D
还原 还原 还原
1× D + A = I . 1× I + A = AF . 1× I + D = BE .
BE ÷ AF =1... A 还原 1× AF + A = BE . FD ÷ BE =1... I 还原 1× BE + I = FD .
C ÷ d =a...A 还原 d × a + A = C (二维).
E ÷ B ( 即 d × a)=d ... A
还原 d × d × a + A = D + A = E (三维).
B ÷ a =d
还原
d × a = B (二维).
E ÷ D ( 即 p × a)=a... A 还原 p × a × a + A = D + A = E (三维).
第10章
中国剩余定理
李达科
深圳市达科格位数论代数运算系统研究所 E-mail: ldkhxzh@ “中国剩余定理”又称“孙子定理”.1852 年,英国传教士伟烈亚力将《孙子算经》中 “物不知数”的解法传至欧洲.1874 年,英国数学家马西森指出,此法符合 1801 年由高斯 得出的关于同余式解法的一般性定理,因而西方称之为“中国剩余定理”. 在所有的除法形式中,数学家和数论家都会碰到一个“整数除以整数后的得数‘商’不 知道是什么数理含义”的问题. 如“潘承洞、潘承彪著《简明数论》§整数第 7 行‘两个整 数不一定能作除法,即它们的商不一定是整数’ ”的数论问题,就是最好的典例. 乘积整数既有二维乘积整数 Λ , 也有三维乘积整数 Λ .故二维乘积整数 Λ 的除法与三维 乘积整数 Λ 有着完全不同的数理含义. 或二维乘积整 如: 二维乘积整数 Λ 除以平方根素数 ∂ 等于另一个平方根素数 ∂ 的整除; 数 Λ 除以平方根素数 ∂ 等于另一个平方根素数 ∂ 后剩余了一个二维乘积整数 Λ ;或二维乘 积整数 Λ 除以二维积整数 Λ 等于二维积整数个数的自然系数 N (含倍数 N ) ;或二维乘积 整数 Λ 除以二维乘积整数 Λ 等于二维乘积整数个数的自然系数 N 后剩余了一个二维乘积 整数 Λ .这样的剩余除法叫中国剩余定理,传统数学把以上的除法叫一次性整除或一次性余 除(平方根式整除、平方根式余除;立方根式整除、立方根式余除原理同上). 又如:三维乘积整数 Λ 除以一个平方根素数 ∂ 既等于两个平方根素数 ∂ × ∂ (实际上也 是二维乘积整数 Λ .这是很难懂的) ;或三维乘积整数 Λ 除以两个平方根素数 ∂ × ∂ (实际上 是二维乘积整数 Λ )等于另一个平方根素数 ∂ (这是很难懂的) ;或三维乘积整数 Λ 除以三 维乘积整数 Λ 等于三维乘积整数 Λ 的个数的自然系数 N (含倍数 N ) ;或三维乘积整数 Λ 除以二维乘积整数 Λ 等于一个平方根素数 ∂ 后剩余了一个三维乘积整数 Λ . 这样的剩余除 法也叫中国剩余定理,传统数学把以上的二维余除除法叫二次余除.因此,二维积整数 Λ 的 剩余除法恰恰与哥德巴赫猜想“表‘ Λ +Λ ’积整数之和为‘ Λ +∂ × ∂ ’即表‘一个积奇 ”.《达科格位数论代数运算系统》证明了三 整数 Λ 与两个(平方根)素数 ∂ × ∂ 乘积之和’ 维积整数的 “ ‘ Λ +Λ ’之和,则可以表述成‘ Λ +∂ × ∂ × ∂ ’即表‘一个积奇整数 Λ 与三 ”. 个(立方根)素数 ∂ × ∂ × ∂ 乘积之和’ 10.1 二维积整数 Λ 的余除 10.1.1 二维积整数 Λ 与平方根 ∂ 的一次余除,如 10.1.1.1 C ÷ d =a...A 还原 d × a +A = B + A = C 对应于 2 ×1+1 = 2 + 1 = 3 . 10.1.1.2 D ÷ i =a...A 还原 i × a +A = C + A = D 对应于 3 ×1+1 = 3 + 1 = 4 . 10.1.1.3 E ÷ d =d ...A 还原 d × d +A = D + A = E 对应于 2 × 2+1 = 4 + 1 = 5 . 10.1.1.4 E ÷ i =a...B 还原 i × a +B = C + B = E 对应于 3 ×1+2 = 3 + 2 = 5 .