什么叫做“韩信点兵”
韩信点兵也是一个很有趣的猜数游戏,如果你随便拿一把蚕豆(数目约在100粒左右),先3粒3粒地数,直到不满3粒时,把余数记下来;第二次再5粒5粒地数,最后把余数记下来;第三次是7粒一数,把余数也记下来。然后根据每次的余数,就可以知道你原来拿了多少蚕豆。不信的话,你还可以实地试验一下。
例如:假若3个一数余1粒,5个一数余2粒,7个一数余2粒,那么,原有蚕豆多少?
这类题目看起来是很难计算的,可是我国古时却流传着一种算法,它的名称也很多,宋朝周密叫它“鬼谷算”,又名“隔墙算”;杨辉叫它“剪管术”;而比较通行的名称是“韩信点兵”。最初记述这类算法的是一本名叫《孙子算经》的书,后来在宋朝经过数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”。这在数学史上是极有名的问题,外国人一般把它称为“中国剩余定理:至于它的算法,在《孙子算经》上就已经有了说明,而且后来还流传着这么一首歌诀:
三人同行七十稀,
五树梅花廿一枝,
七子团圆正半月,
除百零五便得知。
这就是韩信点兵的计算方法,它的意思是说:凡是用3个一数剩下的余数,将它用70去乘(因为70是5与7的倍数,而又是以3去除余1的),5个一数剩下的余数,将它用21去乘(因为21是3与7的倍数,又是以5去除余1的),7个一数剩下的余数,将它用15去乘(因为15是3与5的倍数,又是以7去除余1的),将这些数加起来,若超过105,就减掉105;如果剩下来的数目还是比105大,就再减去105,直到得数比105小为止,这样,所得的数就是原来的数了。根据这个道理,你可以很容易地把前面一个题目列成算式:
1×70+2×21+2×15-105
=142-105
=37。
因此,你可以知道,原来这一堆豆有37粒。
![]() |
1900年,德国大数学家大卫·希尔伯特归纳了当时世界上尚未解决的最困难的23个难题。后来,其中的第十问题在七十年代被解决了,这是近代数学的一项重大成就。据证明的人说,在解决问题的过程中,他是受到了“中国剩余定理”的启发的。