数学真奇妙——韩信点兵的故事 韩信是中国古代一位有名的大元帅。他少年时就父母双亡,生活困难,曾靠乞讨为生,还经常受到某些泼皮的欺凌,胯下之辱讲的就是韩信少年时被泼皮强迫从胯下钻过的事。后来他投奔刘邦,展现了他杰出的军事才能,为刘邦打败了楚霸王项羽立下汗马功劳,开创了刘汉皇朝四百年的基业。民间流传着一些以韩信为主角的有关聪明人的故事,韩信点兵的故事就是其中的一个。 相传有一次,韩信将1500名将士与楚王大将李锋交战。双方大战一场,楚军不敌,败退回营。而汉军也有伤亡,只是一时还不知伤亡多少。于是,韩信整顿兵马也返回大本营,准备清点人数。当行至一山坡时,忽有后军来报,说有楚军骑兵追来。韩信驰上高坡观看,只见远方尘土飞扬,杀声震天。汉军本来已经十分疲惫了,这时不由得人心大乱。韩信仔细地观看敌方,发现来敌不足五百骑,便急速点兵迎敌。不一会儿,值日副官报告,共有1035人。他还不放心,决定自己亲自算一下。于是命令士兵3人一列,结果多出2名;接着,他又命令士兵5人一列,结果多出3名;再命令士兵7人一列,结果又多出2名。韩信马上向将士们宣布:值日副官计错了,我军共有1073名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人。汉军本来就信服自己的统帅,这一来更相信韩信是“神仙下凡”、“神机妙算”,于是士气大振。一时间旌旗摇动,鼓声喧天,汉军个个奋勇迎敌,楚军顿时乱作一团。交战不久,楚军大败而逃。 战事结束后,部将好奇地问韩信:“大帅是如何迅速地算出我军人马的呢?”韩信说:“我是根据编队时排尾的余数算出来的。” 韩信到底是怎么算出来的呢? 这是中国古代流传于民间的一道趣味算术题,叫做韩信点兵,还有一首四句诗隐含了解题的法门: “三人同行七十稀,五树梅花廿一枝。 七子团圆正半月,除百零五便得知。” 诗里让人记住这几个数字:3与70,5与21,7与15,还有105(也就是3、5、7的公倍数)。这些数是什么意思呢?题中3人一列多2人,用2×70;5人一列多3名,用3×21;7人一列多2人,用2×15,三个乘积相加:2×70+3×21+2×15=233 用233除以3余2,除以5余3,除以7余1,符合题中条件。但是,因为105是3、5、7的公倍数,所以233加上或减去若干个105仍符合条件。这样一来,128、338、443、548、653……都符合条件。总之,233加上或减去105的整数倍,都可能是答案。韩信根据现场观察,选择了和1035最接近的数字1073。 诗歌里的70,21,15又是怎么得来的呢?70是5和7的公倍数,除以3余1;21是3和7的公倍数,除以5余1;15是3和5的公倍数,除以7余1。 中国有一本数学古书《孙子算经》也有类似的问题:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?” 答曰:“二十三。” 术曰:“三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得。” 什么意思呢?用现代语言说明这个解法就是: 首先找出能被5与7整除而被3除余1的数70,被3与7整除而被5除余1的数21,被3与5整除而被7除余1的数15。如果所求的数被3除余2,那么就取数70×2=140,140是被5与7整除而被3除余2的数。如果所求数被5除余3,那么取数21×3=63,63是被3与7整除而被5除余3的数。如果所求数被7除余2,那就取数15×2=30,30是被3与5整除而被7除余2的数。 140+63+30=233,由于63与30都能被3整除,所以233与140这两数被3除的余数相同,都是余2,同理233与63这两数被5除的余数相同,都是3,233与30被7除的余数相同,都是2。所以233是满足题目要求的一个数。 105是3、5、7的公倍数,前面说过,凡是满足233加减105的整数倍的数都是符合题意的,因此依定理译成算式解为: 70×2+21×3+15×2=233 233-105×2=23 这就是有名的“中国剩余定理”,或称“孙子定理”,它和韩信点兵是一个道理。 本文来源:https://www.wddqw.com/doc/029f3dab250c844769eae009581b6bd97e19bc22.html