王朝知道
分享
 
 
 

韩信点兵的法则——剩余定理?

王朝知道·作者佚名  2012-08-11  
宽屏版  字体: |||超大  
 
分类: 教育/科学 >> 理工学科
 
参考答案:

秦王暗点兵问题和韩信乱点兵问题,都是后人对物不知其数问题的一种故事化。

物不知其数问题出自一千六百年前我国古代数学名著《孙子算经》。原题为:"今有物不知其数,三三数之二,五五数之三,七七数之二,问物几何?"

这道题的意思是:有一批物品,不知道有几件。如果三件三件地数,就会剩下两件;如果五件五件地数,就会剩下三件;如果七件七件地数,也会剩下两件。问:这批物品共有多少件?

变成一个纯粹的数学问题就是:有一个数,用3除余2,用5除余3,用7除余2。求这个数。

这个问题很简单:用3除余2,用7除也余2,所以用3与7的最小公倍数21除也余2,而用21除余2的数我们首先就会想到23;23恰好被5除余3,所以23就是本题的一个答案。

这个问题之所以简单,是由于有被3除和被7除余数相同这个特殊性。如果没有这个特殊性,问题就不那么简单了,也更有趣得多。

我们换一个例子;韩信点一队士兵的人数,三人一组余两人,五人一组余三人,七人一组余四人。问:这队士兵至少有多少人?

这个题目是要求出一个正数,使之用3除余2,用5除余3,用7除余4,而且希望所求出的数尽可能地小。

如果一位同学从来没有接触过这类问题,也能利用试验加分析的办法一步一步地增加条件推出答案。

例如我们从用3除余2这个条件开始。满足这个条件的数是3n+2,其中n是非负整数。

要使3n+2还能满足用5除余3的条件,可以把n分别用1,2,3,…代入来试。当n=1时,3n+2=5,5除以5不用余3,不合题意;当n=2时,3n+2=8,8除以5正好余3,可见8这个数同时满足用3除余2和用5除余3这两个条件。

最后一个条件是用7除余4。8不满足这个条件。我们要在8的基础上得到一个数,使之同时满足三个条件。

为此,我们想到,可以使新数等于8与3和5的一个倍数的和。因为8加上3与5的任何整数倍所得之和除以3仍然余2,除以5仍然余3。于是我们让新数为8+15m,分别把m=1,2,…代进去试验。当试到m=3时,得到8+15m=53,53除以7恰好余4,因而53合乎题目要求。

我国古代学者早就研究过这个问题。例如我国明朝数学家程大位在他著的《算法统宗》(1593年)中就用四句很通俗的口诀暗示了此题的解法:

三人同行七十稀,

五树梅花甘一枝,

七子团圆正半月,

除百零五便得知。

"正半月"暗指15。"除百零五"的原意是,当所得的数比105大时,就105、105地往下减,使之小于105;这相当于用105去除,求出余数。

这四句口诀暗示的意思是:当除数分别是3、5、7时,用70乘以用3除的余数,用21乘以用5除的余数,用15乘以用7除的余数,然后把这三个乘积相加。加得的结果如果比105大,就除以105,所得的余数就是满足题目要求的最小正整数解。

按这四句口诀暗示的方法计算韩信点的这队士兵的人数可得:

70×2+21×3+15×4=263,

263=2×105+53,

所以,这队士兵至少有53人。

在这种方法里,我们看到:70、21、15这三个数很重要,稍加研究,可以发现它们的特点是:

70是5与7的倍数,而用3除余1;

21是3与7的倍数,而用5除余1;

15是3与5的倍数,而用7除余1。

因而

70×2是5与7的倍数,用3除余2;

21×3是3与7的倍数,用5除余3;

15×4是3与5的倍数,用7除余4。

如果一个数除以a余数为b,那么给这个数加上a的一个倍数以后再除以a,余数仍然是b。所以,把70×2、21×3与15×4都加起来所得的结果能同时满足"用3除余2、用5除余3、用7除余4"的要求。一般地,

70m+21n+15k (1≤m<3, 1≤n<5,1≤k<7)

能同时满足"用3除余m 、用5除余n 、用7除余k"的要求。除以105取余数,是为了求合乎题意的最小正整数解。

我们已经知道了70、21、15这三个数的性质和用处,那么,是怎么把它们找到的呢?要是换了一个题目,三个除数不再是3、5、7,应该怎样去求出类似的有用的数呢?

为了求出是5与7的倍数而用3除余1的数,我们看看5与7的最小公倍数是否合乎要求。5与7的最小公倍数是5×7=35,35除以3余2,35的2倍除以3余2,35的2倍除以3就能余1了,于是我们得到了"三人同行七十稀"。

为了求出是3与7的倍数而用5除余1的数,我们看看3与7的最小公倍数是否合乎要求。3与7的最小公倍数是3×7=21,21除以5恰好余1,于是我们得到了"五树梅花甘一枝"。

为了求出是3与5的倍数而用7除余1的数,我们看看3与5的最小公倍数是否合乎要求。3与5的最小公倍数是3×5=15,15除以7恰好余1,因而我们得到了"七子团圆正半月"。

3、5、7的最小公倍数是105,所以"除百零五便得知"。

例如:试求一数,使之用4除余3,用5除余2,用7除余5。

解:我们先求是5与7的倍数而用4除余1的数;5与7的最小公倍数是5×7=35,35除以4余3,3×3除以4余1,因而35×3=105除以4余1,105是5与7的倍数而用4除余1的数。

我们再求4与7的倍数而用5除余1的数;4与7的最小公倍数是4×7=28,28除以5余3,3×7除以5余1,因而28×7=196除余5余1,所以196是4与7的倍数而用5除余1的数。

最后求的是4与5的倍数而用7除余1的数:4与5的最小公倍数是4×5=20,20除以7余6,6×6除以7余1,因而20×6=120除以7余1,所以120是4与5的倍数而用7除余1的数。

利用105、196、120这三个数可以求出符合题目要求的解:

105×3+196×2+120×5=1307。

由于4、5、7的最小公倍数是4×5×7=140,1307大于140,所以1307不是合乎题目要求的最小的解。用1037除以140得到的余数是47,47是合乎题目的最小的正整数解。

一般地,

105m+196n+120k (1≤m<4,1≤n<5,1≤k<7)

是用4除余m,用5除余n,用7除余k的数(105m+196n+120k)除以140所得的余数是满足上面三个条件的最小的正数。

上面我们是为了写出105m+196n+120k这个一般表达式才求出了105这个特征数。如果只是为了解答我们这个具体的例题,由于5×7=35既是5与7的倍数除以4又余3,就不必求出105再乘以3了。

35+196×2+120×5=1027

就是符合题意的数。

1027=7×140+47,

由此也可以得出符合题意的最小正整数解47。

《算法统宗》中把在以3、5、7为除数"物不知其数"问题中起重要作用的70、21、15这几个特征数用几句口诀表达出来了,我们也可以把在以4、5、7为除数的问题中起重要作用的105、196、120这几个特征数编为口诀。留给读者自己去编吧。

凡是三个除数两两互质的情况,都可以用上面的方法求解。

上面的方法所依据的理论,在中国称之为孙子定理,国外的书籍称之为中国剩余定理。

参考资料:少年百科

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用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- 王朝网络 版权所有