分享

中国古算解趣  韩 信 点 兵

 秋雨书轩 2022-06-15 发布于黑龙江

韩 信 点 兵

韩信点兵是一个有趣的游戏,如果你随便拿一把棋子(数目在100粒左右),先33粒数,不满3粒的记下余数;再55粒数,不满5粒的记下余数;最后77粒地数,也把余数记下来。然后根据每次的余数,就可以知道你原来拿的棋子总共有多少。
如:
3个一数余1粒,5个一数余2粒,7个一数余2粒,那么原有棋子是多少呢?
   
它的算法很简单,而且在我国古代就有。宋朝周密叫它鬼谷算隔墙算;杨辉叫它剪管术;而韩信点兵是较通行的名称。至于它的算法,在《孙子算经》上早有说明,后来在宋朝经过数学家秦九韶的推广,又发现了一种算法,叫大衍一术。这就是外国人所称的中国剩余定理,是数学史上极有名的问题。
那么到底怎样来计算呢?
A×70b×21c×15105
其中abc分别为3个、5个、7个一数的余数。如果得出数还是比105大,就再减去105,一直到得数比105小为止。
因此你可以很容易地知道,前面问题的答案了
1×702×212×1510537(粒)。
那么韩信点兵里为什么要
3个一数,5个一数,7个一数呢?周其它的数可以吗?我们先研究一下韩信点兵的解法

70a21b15c105
我们先来看一下
7021151054个数和357之间的关系:
1702×5×7703×231,所以7057的一个公倍数,它被

3除后余数是1.
2)同理,2137的一个公倍数,它被5除后余数是1
.
31535的一个公倍数,它被7除后余数是1
.
41053×5×7,是357
的最小公倍数。
根据上面的这些关系,
70a21b15c105确实是所求的得数。

所以,70a21b15c1053除的余数是1。据同样的道理,这个数被5除后的余数是2,被7除后余数是2.
那么,韩信点兵里为什么要用357这三个数呢?

我们知道,357中任意两个数的最大公约数都是1,也就是说是两两互素。

于是就可以找到这样一个数,是357其中两个数的公倍数,而被另一个数除后余数是1,类似702115。这也就是韩信点兵中的三个数的要求。

那么不是两两互素的数,是不是就一定找不到类似702115的数呢?

467这三个数,46不是互素,它们的最大公约数是2,而67的任何一个公倍数都是偶数,被偶数4除后的余数也一定是偶数,而不可能是1,所以是找到与702115相当的三个数的。因此在韩信点兵里就不能用。
我们也可以不用
357这三个数,而换成其它两两互素的数,如2311.这时的计算式是33a22b12c66。不信的话,你可以用上文中的例子试一试,看是不是37粒。

中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。 我国汉代有一位大将,名叫韩信。他每次集合部队,都要求部下报三次数,第一次按13报数,第二次按15报数,第三次按17报数,每次报数后都要求最后一个人报告他报的数是几,这样韩信就知道一共到了多少人。他的这种巧妙算法,人们称为鬼谷算隔墙算秦王暗点兵等。到了明代,数学家程大位把这个问题的算法编成了四句歌诀:
三人同行七十稀,
五树梅花廿一枝,
七子团圆正半月,
除百零五便得知。
这就是韩信点兵的计算方法,它的意思是:凡是用
3个一数剩下的余数,将它用70去乘(因为7057的倍数,而又是以3去除余1的数);5个一数剩下的余数,将它用21去乘(因为2137的倍数,又是以5去除余1的数);7个一数剩下的余数,将它用15去乘(因为1535的倍数,又是以7去除余 1的数),将这些数加起来,若超过105,就减掉105,如果剩下来的数目还是比105大,就再减去105,直到得数比105小为止。这样,所得的数就是原来的数了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多