简介:韩信点兵又称为中国剩余定理,乃由于相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。
刘邦茫然而不知其数。
韩信点兵是一个很有趣的猜数游戏,随便抓一把蚕豆粒,假若3个一数余1粒,5个一数余2粒,7个一数余2粒,那么所抓的蚕豆有多少粒?这类题目看起来是很难计算的,可是中国古时却流传着一种算法,它的名称也很多,宋朝周密叫它「鬼谷算」,又名「隔墙算」;杨辉叫它「剪管术」;而比较通行的名称是「韩信点兵」。
最初记述这类算法的是一本名叫「孙子算经」的书,后来在宋朝经过数学家秦九韶的推广,又发现了一种算法,叫做「大衍求一术」,流传到西洋以后,外国化称它是「中国剩余定理」,在数学史上是极有名的问题。
至于它的算法,在「孙子算经」上就已经有了说明:“凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置十五”,而且还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。
这就是韩信点兵的计算方法,《孙子算经》中给出了其中关键的步骤是:但在《孙子算经》中并没有说明求乘数的方法,直到1247年宋代数学家秦九韶在《数书九章》中才给出具体求法:70是5与7最小公倍的2倍,21、15分别是3与7、3与5最小公倍数的1倍。
秦九韶称这2、1、1的倍数为“乘率”,求出乘率,就可知乘数,意思是说:凡是用3个一数剩下的余数,将它用70去乘(因为70是5与7的倍数,而又是以3去除余1的),5个一数剩下的余数,将它用21去乘(因为21是3与7的倍数,又是以5去除余1的),7个一数剩下的余数,将它用15去乘(因为15是3与5的倍数,又是以7去除余1的),最后将70、5、15这些数加起来,若超过105,就再减掉105,所得的数便是原来的数了。
根据这个道理,你就可以很容易地把前面一个题目列成算式:1×70+2×21+2×15-105=142-105=37。
因此你可以知道,原来这一堆蚕豆最少有37粒。
孙子算经的作者及确实著作年代均不可考,不过根据考证,著作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。
中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。
解决问题过程:QUESTION1:有一群人,3人一数剩1人,5人一数剩1人,7人一数剩1人,全部至少有几人?仔细观察,我们在数这群人的过程,会发现一个共同点→最后面数完都剩下一人,所以我们可以用下面的式子来表示:某数÷3=a………1(a≧0)某数÷5=b………1(b≧0)某数÷7=c………1(c≧0)我们可以将上面的式子稍微改写一下,会变成:某数=a×3+1………(1)(a≧0)某数=b×5+1………(2)(b≧0)某数=c×7+1………(3)(c≧0)从(1)式,我们知道某数可能为1当a=0的时候,当然某数也可能为4当a=1的时候,依此类推,我们可以知道某数可能为1、4、7、10、…中的任何一个。
从(2)式,我们知道某数可能为1当b=0的时候,当然某数也可能为6当b=1的时候,依此类推,我们可以知道某数可能为1、6、11、16、…中的任何一个。
从(3)式,我们知道某数可能为1当c=0的时候,当然某数也可能为8当c=1的时候,依此类推,我们可以知道某数可能为1、8、15、22、…中的任何一个。
我们综合上面三个式子的发现,将结果表示在下面:我们由上表发现某数在1与106的地方会发生三个式子都相同的数值,而某数在16、22和36的地方会有两个式子相同的数值,仔细观察,我们将整理后的结果呈现如下:16=5×3+1=3×5+1(1) (2)22=7×3+1=3×7+1(2) (3)36=7×5+1=5×7+1(1)(3)从上面的算式我们看出其中存在的一些规律:因为3与5互质,所以[3,5]=3跟5的乘积→我们说16是3和5的最小公倍数加1因为3与7互质,所以[3,7]=3跟7的乘积→我们说22是3和7的最小公倍数加1因为5与7互质,所以[5,7]=5跟7的乘积→我们说36是5和7的最小公倍数加1由此我们试着将106也使用这种方法来列式得到:(1)106=35×3+1(2)106=21×5+1(3)106=15×7+1上方的三个式子都可用→106=3×5×7+1这个式子来表示。
(因为35=5×7,21=3×7,15=3×5)我们可以说,106是3、5、7中任意2个数的最小公倍数乘上另外一数的乘积加1的结果。
因为3、5、7两两之间互质,所以[3,5,7]=3、5、7的乘积所以我们说106是3、5、7的最小公倍数加1ANSWER: 至少有106人QUESTION2:有一群人,3人一数剩1人,5人一数剩3人,7人一数剩5人,全部至少有几人?这题其实也有一个共通点→最后面数完都不足二人,所以我们可以用下面的式子来表示:某数=a×3-2………(1)(a≧0)某数=b×5-2………(2)(b≧0)某数=c×7-2………(3)(c≧0)从上面各式,我们知道某数在第(1)式可能为1当a=1时候、在(2)式可能为3当b=1时候、在(3)式可能为5当c=1时候,当然某数在(1)式时也可能为4当a=2的时候、在(2)式时也可能为8当b=2的时候、在(3)式时也可能为12当c=12的时候,依此类推。
我们综合上面三个式子的发现,将结果表示在下面:数在13、19和33的地方会有两个式子相同的数值,仔细观察,我们将整理后的结果呈现如下:13=5×3-2=3×5-2(1) (2)19=7×3-2=3×7-2(1) (3)33=7×5-2=5×7-2(2) (3)从上面的算式我们看出其中存在的一些规律:→13是3和5的最小公倍数减2→19是3和7的最小公倍数减2→33是5和7的最小公倍数减2由此我们试着将103也使用这种方法来列式(1)103=35×3-2=7×5×3-2(2)103=21×5-2=3×7×5-2(3)103=15×7-2=3×5×7-2上方的三个式子都可用→103=3×5×7-2这个式子来表示。
(因为35=5×7,21=3×7,15=3×5)我们可以说,103是3、5、7中任意2个数的最小公倍数乘上另外一数的乘积减2的结果。
ANSWER: 103人QUESTION3:有一群人,3人一数剩2人,5人一数剩3人,7人一数剩4人,全部至少有几人?我们从question1与question2的方法中可以发现:1.除3余2的数有:5、8、11、14、17、20、23、26、29、32、35、38、41、44……。
除5余3的数有:8、13、18、23、28、33、38、43、48、53、……。
所以即除3余2,并除5余3的数有:8 、23 、38 、53 、68………皆差15+15 +15 +15 +152.同1.,我们也可以得到除5余3、除7余4的数有:18 、53 、88 、123………皆差35+35 +35 +35综合1、2两点,整理后列出下表:从上表观察出,除3余2、除5余3、除7余4的数有:53 、158 、263………皆差105+105 +105也就是说,从53开始,逐次加105都是答案。
根据上面的描述,我们将其写成公式:某数=53+105‧k k为整数《我们马上就可看出最小的正整数解为53。
》※这题我们也可以用孙子算经上的方法来求解:我们先把3、5、7中任意两个数的最小公倍数算出来,看是否为另一数的倍数加余数,如等式不成立,即把此公倍数依序乘上2、3、4、5……依此类推,直到某数减掉余数后,能被另一数整除为止。
1.35=3×11+2,35是能被5和7整除,且除3余2的数。
2.21=5×4+1,21并不是除5余3的数,所以我们将其乘上242=5×8+2,42也不是除5余3的数,所以我们将21乘上363=5×12+3,在63时,某数能被3和7整除,并除5余3。
3.同2.15=7×2+1、30=7×4+2、45=7×6+3、60=7×8+4,15并不是除7余4的数,所以我们还是将其依序乘上2、3、4、5…发现某数在60时,能被3和5整除,并除7余4。
我们将上述整理成一个式子--35=3×11+2=5×763=5×12+3=3×7×360=7×8 +4=3×5×4最后,把得到的3个数加起来,减去小于自己但最接近自己的公倍数,这样即可求出最小的正整数解:70+63+60-105×1=158-105=53ANSWER: 53人*question1与question2也是可用孙子算经的方法求解的:question1:70+21+15=106question2:70+63+75-105×1=208-105=103结论1.韩信点兵问题有无穷多个解答。
2.韩信点兵问题的解决方法不只一种。
3.无论问题的余数是多少,皆可用”中国剩余定理”的公式x=a×70+b×21+c×15+105×n(n为整数)来算出答案。
参考文献网络资源--淡江数学首页.tw/mathhall/mathinfo/lwy math/HanShin.htm台南市光华女中资源中心.tw/junior/math/tn_kh/1.2.1/in 1-3.htm数学知识--谈韩信点兵问题<蔡聪明>.tw/articles/sm/sm_ 29_09_1/图书资源--林聪源,《数学史─古典篇》,凡异出版社。
张良杰,趣味数学问题集,凡异出版社。
项武义,<漫谈基础数学的古今中外─从韩信点兵和勾股弦说起>,《数学传播》第21卷第1期。
李俨、杜石然,《中国古代数学简史》,九章出版社。