数学科普 | “韩信暗点兵”是怎么点的?

时间:2021-10-28

转载自《科普中国》


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


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


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


1.png


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


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


       如果让我们用现代数学来表述“孙子定理”,则是指设有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, …)


2.png


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


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


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


Copyright © 江苏省工业与应用数学学会   联系电话:65692047   备案号:苏ICP备18058373号-1   
技术支持:无锡开云信息技术有限公司   联系电话:0510-85229289
您是第【1569968】位访问者