“韩信暗点兵”是怎么点的?

发布时间: 2021-12-28

      韩信点兵多多益善这句话大家耳熟能详,但你知道吗,它其中蕴含了一个非常著名的数学问题。今天我们就一起来看看“韩信暗点兵”到底是怎么点的吧。

       在民间传说里,韩信点兵的故事可追溯至公元前二三世纪。

       韩信带兵1500人去打仗,战损四五百人。战后清点人数时,韩信命令士兵每3人站一排,多出2人;每5人站一排,多出3人;每7人站一排,多出2人。韩信由此马上算出了部队人数,有1073名士兵。

       那么韩信是怎么一眼看出有多少士兵的呢?这其实和非常著名的数学问题——中国剩余定理有关。

       中国剩余定理,又称“孙子定理”和“大衍术”,内容是这样的:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”“答曰二十三”。其实我们看出,这个问题只是一个特殊的例子。

       如果让我们用现代数学来表述“孙子定理”,则是指设有k个两两互素的大于1的正整数mi(1≤i≤ k),其乘积为M。则对任意k个整数ai,存在唯一不超过M的正整数x,x被各个mi除所得余数依次为ai

       所以,韩信按照“孙子定理”进行了这样的分析:

       首先,求5、6、7、11的最小公倍数:

       M=5×6×7×11=2310

       求得M对于每个因数的商数:  

       a1=2310/5=462

       a2=2310/6=385

       a3=2310/7=330

       a4=2310/11=210

       以各自的商数为基础,求得余为1的情况:

       3×462/5=1386/5=277……余1

       385/6=64……余1

       330/7=47……余1

       210/11=10……余1

       再以实际上各项的余数代进去,得到:

       X0=1×3×462+5×385+4×330+10×210=6731

       由此,6731是符合题意的各项余数的,但这并不是最小的解。因为2310能被各项都整除,所以要减去2310的倍数。

       X1=6731-2×2310=2111

       2111为最小的解,但由于这是解不定方程,所以有无数的解,其通解的形式应该为:

       X2=2111+2310K(其中K=0,1,2, …)

 

       值得一提的是,虽然在中国的数论教科书里,中国剩余定理被称为孙子定理,但秦九韶是第一个给出了此定理的完整陈述和求解方法的人。他提出了“辗转相除法”(欧几里得算法)和“大衍求一术”。后者是指,设a和m是互素的正整数,m大于1,可以求得唯一的正整数x(不超过m),使得ax被m除后余数为1。

       今天就到这里啦,韩信点兵的的数学题你学会了吗?

       本文由中国人民大学附属中学第二分校一级教师秦薇进行科学性把关。

新华网科普事业部

科普中国-科学原理一点通

联合出品

更多精彩内容,请下载科普中国客户端。