四、中国剩余定理
1.中国古代趣题:
中国数学名著《孙子算经》里有这样的问题:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?”答曰:“二十三。”
此类问题我们可以称为“物不知其数”类型,又被称为“韩信点兵”。 韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人??。刘邦茫然而不知其数。
我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少?
首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然后再加3,得9948(人)。
孙子算经的作者及确实著作年代均不可考,不过根据考证,著作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。 2.核心思想和方法:
对于这一类问题,我们有一套看似繁琐但是一旦掌握便可一通百通的方法,下面我们就以《孙子算经》中的问题为例,分析此方法:
今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?
题目中我们可以知道,一个自然数分别除以3,5,7后,得到三个余数分别为2,3,2.那么我们首先构造一个数字,使得这个数字除以3余1,并且还是5和7的公倍数。
先由5?7?35,即5和7的最小公倍数出发,先看35除以3余2,不符合要求,那么就继续看5和7的“下一个”倍数35?2?70是否可以,很显然70除以3余1
类似的,我们再构造一个除以5余1,同时又是3和7的公倍数的数字,显然21可以符合要求。
最后再构造除以7余1,同时又是3,5公倍数的数字,45符合要求,那么所求的自然数可以这样计算:
2?70?3?21?2?45?k[3,5,7]?233?k[3,5,7],其中k是从1开始的自然数。
也就是说满足上述关系的数有无穷多,如果根据实际情况对数的范围加以限
31
制,那么我们就能找到所求的数。
例如对上面的问题加上限制条件“满足上面条件最小的自然数”, 那么我们可以计算2?70?3?21?2?45?2?[3,5,7]?23得到所求 如果加上限制条件“满足上面条件最小的三位自然数”, 我们只要对最小的23加上[3,5,7]即可,即23+105=128.
【习题精讲】
【例1】(难度级别 ※)
一个两位数除310,余数是37,求这样的两位数。
【例2】(难度级别 ※)
有一个整数,除39,51,147所得的余数都是3,求这个数。
【例3】(难度级别 ※)
求478×296×351除以17的余数。
【例4】(难度级别 ※)
求644312?19的余数
【例5】(难度级别 ※)
用一个自然数去除另一个自然数,商为40,余数是16.被除数、除数、商、余数的和是933,求这2个自然数各是多少?
32
【例6】(难度级别 ※)
用弃九法检验乘法算式5483×9117=49888511是否正确。
【例7】(难度级别 ※※)
已知2008被一些自然数去除,所得的余数都是10,那么这样的自然数共有多少个?
【例8】(难度级别 ※※)
号码分别为101,126,173,193的4个运动员进行乒乓球比赛,规定每两人比赛的盘数是他们号码的和被3除所得的余数.那么打球盘数最多的运动员打了多少盘?
【例9】(难度级别 ※※)
一个小于200的自然数,被7除余2,被8除余3,被9除余1,这个数是多少?
33
【例10】(难度级别 ※※)
一堆糖果,如果每2块分一堆剩1个,每3块分一堆剩1个?.每10个分一堆也剩1个,且这堆糖果的个数在99-5000之间,求这堆糖果的个数?
【例11】(难度级别 ※※※)
求自然数2100?3101?4102的个位数字。
【例12】(难度级别 ※※※)
自然数2?2?????2?...?2?1的个位数字是多少? ???67个2
【例13】(难度级别 ※※※)
若有一数介于300与400之间,以3除剩1,以8除剩5,以11除剩4。问此数为何?
34
【例14】(难度级别 ※※※)
有一个自然数,用它分别去除63,90,130都有余数,3个余数的和是25.这3个余数中最大的一个是多少?
【例15】(难度级别 ※※※)
一个数去除551,745,1133,1327这4个数,余数都相同.问这个数最大可能是多少?
【例16】(难度级别 ※※※※)
将1,2,3,?,30从左往右依次排列成一个51位数,这个数被11除的余数是多少?
【例17】(难度级别 ※※※※)
已知三个连续自然数,它们都小于2002,其中最小的一个自然数能被13整除,中间的一个自然数能被15整除,最大的一个自然数能被17整除。那么,最小的一个自然数是多少?
35