王朝百科
分享
 
 
 

韩信点兵

王朝百科·作者佚名  2009-10-25  
宽屏版  字体: |||超大  

民间传说着一则故事——“韩信点兵”。

秦朝末年,楚汉相争。有一次,韩信将1500名将士与楚王大将李锋交战。苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是,韩信整顿兵马也返回大本营。当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀声震天。汉军本来已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百骑,便急速点兵迎敌。他命令士兵3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名。韩信马上向将士们宣布:我军有1073名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人。汉军本来就信服自己的统帅,这一来更相信韩信是“神仙下凡”、“神机妙算”。于是士气大振。一时间旌旗摇动,鼓声喧天,汉军步步进逼,楚军乱作一团。交战不久,楚军大败而逃。

首先我们先求5、9、13、17之最小公倍数9945(注:因为5、9、13、17为两两互质的整数,故其最小公倍数为这些数的积),然後再加3,得9948(人)。

在一千多年前的《孙子算经》中,有这样一道算术题:

“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数.

这样的问题,也有人称为“韩信点兵”.它形成了一类问题,也就是初等数论中的解同余式。

① 有一个数,除以3余2,除以4余1,问这个数除以12余几?

解:除以3余2的数有:

2, 5, 8, 11,14, 17, 20, 23….

它们除以12的余数是:

2,5,8,11,2,5,8,11….

除以4余1的数有:

1, 5, 9, 13, 17, 21, 25, 29….

它们除以12的余数是:

1, 5, 9, 1, 5, 9,….

一个数除以12的余数是唯一的.上面两行余数中,只有5是共同的,因此这个数除以12的余数是5.

如果我们把①的问题改变一下,不求被12除的余数,而是求这个数.很明显,满足条件的数是很多的,它是 5+12×整数,

整数可以取0,1,2,…,无穷无尽.事实上,我们首先找出5后,注意到12是3与4的最小公倍数,再加上12的整数倍,就都是满足条件的数.这样就是把“除以3余2,除以4余1”两个条件合并成“除以12余5”一个条件.《孙子算经》提出的问题有三个条件,我们可以先把两个条件合并成一个.然后再与第三个条件合并,就可找到答案.

②一个数除以3余2,除以5余3,除以7余2,求符合条件的最小数.

解:先列出除以3余2的数:

2, 5, 8, 11, 14, 17, 20, 23, 26…

再列出除以5余3的数:

3, 8, 13, 18, 23, 28….

这两列数中,首先出现的公共数是8.3与5的最小公倍数是15.两个条件合并成一个就是8+15×整数,列出这一串数是8, 23, 38,…,再列出除以7余2的数 2, 9, 16, 23, 30…

就得出符合题目条件的最小数是23.

事实上,我们已把题目中三个条件合并成一个:被105除余23.

那么韩信点的兵在1000-1500之间,应该是105×10+23=1073人

中国有一本数学古书「孙子算经」也有类似的问题:「今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?」

答曰:「二十三」

术曰:「三三数剩一置几何?答曰:五乘七乘二得之一百四。

五五数剩一复置几何?答曰,三乘七得之二十一是也。

七七数剩一又置几何?答曰,三乘五得之十五是也。

三乘五乘七,又得一百零五。

则可知已,又

三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得。」

孙子算经的作者及确实著作年代均不可考,不过根据考证,著作年代不会在晋朝之后,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。

简单扼要总结:

1.算两两数之间的能整除数

2.算三个数的能整除数

3.用1中的三个整除数之和减去2中的整除数之差(有时候是倍数)

4计算结果即可

韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。韩信马上说出人数:1049

如多一人,即可凑整。幸存人数应在1000~1100人之间,即得出:

3乘5乘7乘10减1=1049(人)

到了明代,数学家程大位用诗歌概括了这一算法,他写道:

三人同行七十稀,五树梅花廿一枝,

七子团圆月正半,除百零五便得知。

这首诗的意思是:用3除所得的余数乘上70,加上用5除所得余数乘以21,再加上用7除所得的余数乘上15,结果大于105就减去105的倍数,这样就知道所求的数了。

金庸先生曾在作品《射雕英雄传》引用过此段。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有