秦王暗点兵问题和韩信乱点兵问题,都是后人对物不知其数问题的一种故事化。 物不知其数问题出自一千六百年前我国古代数学名著《
孙子算经》。原题为:“今有物不知其数,三三数之二,五五数之三,七七数之二,问物几何?”这道题的意思是:有一批物品,不知道有几件。如果三件三件
地数,就会剩下两件;如果五件五件地数,就会剩下三件;如果七件七件地数,也会剩下两件。问:这批物品共有多少件? 变成一个纯粹的数学问题就是:有一个数,用3除余2,用5除余3,用7除余2。求这个数。
典故
秦王是指
李世民,
李渊称帝后分封他为秦王。所谓暗点兵,便是无论多少兵马,只须按阵排列,大将默察阵势,瞬息间便知数目。
解法
这个问题很简单:用3除余2,用7除也余2,所以用3与7的
最小公倍数21除也余2,而用21除余2的数我们首先就会想到23;23恰好被5除余3,所以23就是本题的一个答案。
这个问题之所以简单,是由于有被3除和被7除余数相同这个特殊性。如果没有这个特殊性,问题就不那么简单了,也更有趣得多。
举一反三
问题
我们换一个例子;
韩信点一队士兵的人数,三人一组余两人,五人一组余三人,七人一组余四人。问:这队士兵至少有多少人?
解法1
这个题目是要求出一个
正数,使之用3除余2,用5除余3,用7除余4,而且希望所求出的数尽可能地小。
如果一位同学从来没有接触过这类问题,也能利用试验加分析的办法一步一步地增加条件推出答案。
例如我们从用3除余2这个条件开始。满足这个条件的数是3n+2,其中n是非负整数。
要使3n+2还能满足用5除余3的条件,可以把n分别用1,2,3,…代入来试。当n=1时,3n+2=5,5除以5不用余3,不合题意;当n=2时,3n+2=8,8除以5正好余3,可见8这个数同时满足用3除余2和用5除余3这两个条件。
最后一个条件是用7除余4。8不满足这个条件。我们要在8的基础上得到一个数,使之同时满足三个条件。
为此,我们想到,可以使新数等于8与3和5的一个倍数的和。因为8加上3与5的任何整数倍所得之和除以3仍然余2,除以5仍然余3。于是我们让新数为8+15m,分别把m=1,2,…代进去试验。当试到m=3时,得到8+15m=53,53除以7恰好余4,因而53合乎题目要求。
解法2
我们设至少有n个人
依题意得 n用3除余2,用5除余3,用7除余4
则 2n用3除余1,用5除余1,用7除余1(2*2除以3余1,3*2除以5余1,4*2除以7余1)
又因为2n会余1 所以2n=105+1=106
所以n=106/2=53
(是不是比解法1简单多了)
解法3
古人智慧
我国古代学者早就研究过这个问题。例如我国明朝数学家
程大位在他著的
《算法统宗》(1593年)中就用四句很通俗的口诀暗示了此题的解法:三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。
这四句口诀暗示的意思是:当除数分别是3、5、7时,用70乘以用3除的余数,用21乘以用5除的余数,用15乘以用7除的余数,然后把这三个乘积相加。加得的结果如果比105大,就除以105,所得的余数就是满足题目要求的最小正整数解。
按这四句口诀暗示的方法计算韩信点的这队士兵的人数可得:70×2+21×3+15×4=263,263=2×105+53,所以,这队士兵至少有53人。
在这种方法里,我们看到:70、21、15这三个数很重要,稍加研究,可以发现它们的特点是:
70是5与7的倍数,而用3除余1;
21是3与7的倍数,而用5除余1;
15是3与5的倍数,而用7除余1。
因而,
70×2是5与7的倍数,用3除余2;
21×3是3与7的倍数,用5除余3;
15×4是3与5的倍数,用7除余4。
若一个数除以a余b,这个数加上a的倍数再除以a余数仍然为b。
上面的方法所依据的理论,在中国称之为
孙子定理,国外的书籍称之为中国剩余定理。