韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一

如题所述

韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。

刘邦茫然而不知其数。

我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵有多少?

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

中国有一本数学古书「孙子算经」也有类似的问题:

「今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?」 答曰:「二十三」 术曰:「三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得。」

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

中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位。

韩信点兵 汉高祖刘邦曾问大将韩信:“你看我能带多少兵?”韩信斜了刘邦一眼说:“你顶多能带十万兵吧!”汉高祖心中有三分不悦,心想:你竟敢小看我!“那你呢?”韩信傲气十足地说:“我呀,当然是多多益善啰!”刘邦心中又添了三分不高兴,勉强说:“将军如此大才,我很佩服。现在,我有一个小小的问题向将军请教,凭将军的大才,答起来一定不费吹灰之力的。”韩信满不在乎地说:“可以可以。”刘邦狡黠地一笑,传令叫来一小队士兵隔墙站队,刘邦发令:“每三人站成一排。”队站好后,小队长进来报告:“最后一排只有二人。”“刘邦又传令:“每五人站成一排。”小队长报告:“最后一排只有三人。”刘邦再传令:“每七人站成一排。”小队长报告:“最后一排只有二人。”刘邦转脸问韩信:“敢问将军,这队士兵有多少人?”韩信脱口而出:“二十三人。”刘邦大惊,心中的不快已增至十分,心想:“此人本事太大,我得想法找个岔子把他杀掉,免生后患。”一面则佯装笑脸夸了几句,并问:“你是怎样算的?”韩信说:“臣幼得黄石公传授《孙子算经》,这孙子乃鬼谷子的弟子,算经中载有此题之算法,口诀是: 三人同行七十稀, 五树梅花开一枝, 七子团圆正月半, 除百零五便得知。” 刘邦出的这道题,可用现代语言这样表述: “一个正整数,被3除时余2,被5除时余3,被7除时余2,如果这数不超过100,求这个数。” 《孙子算经》中给出这类问题的解法:“三三数之剩二,则置一百四十;五五数之剩三,置六十三;七七数之剩二,置三十;并之得二百三十三,以二百一十减之,即得。凡三三数之剩一,则置七十;五五数之剩一,则置二十一;七七数之剩一,则置十五,一百六以上,以一百五减之,即得。”用现代语言说明这个解法就是: 首先找出能被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是满足题目要求的一个数。 而3、5、7的最小公倍数是105,故233加减105的整数倍后被3、5、7除的余数不会变,从而所得的数都能满足题目的要求。由于所求仅是一小队士兵的人数,这意味着人数不超过100,所以用233减去105的2倍得23即是所求。 这个算法在我国有许多名称,如“韩信点兵”,“鬼谷算”,“隔墙算”,“剪管术”,“神奇妙算”等等,题目与解法都载于我国古代重要的数学著作《孙子算经》中。一般认为这是三国或晋时的著作,比刘邦生活的年代要晚近五百年,算法口诀诗则载于明朝程大位的《算法统宗》,诗中数字隐含的口诀前面已经解释了。宋朝的数学家秦九韶把这个问题推广,并把解法称之为“大衍求一术”,这个解法传到西方后,被称为“孙子定理”或“中国剩余定理”。而韩信,则终于被刘邦的妻子吕后诛杀于未央宫。 请你试一试,用刚才的方法解下面这题: 一个数在200与400之间,它被3除余2,被7除余3,被8除余5,求该数。 (解:112×2+120×3+105×5+168k,取k=-5得该数为269。)追问

我们先考虑下列的问题:假设兵不满一万,每5人一列、9人一列、13人一列、17人一列都剩3人,则兵多少
为什么要这样假设

追答

是为了解释最小公倍数定理,也就是中国剩余定理而假设的。
答案是7312。 1×910+2×546+4×1170+6×105=7312,910是3的数论倒数。即5.7.13的最小公倍数的n倍,使该数除以3余一。其它三个也是同理。 546是5的数论倒数。即3*7*13=273 273*2=546 546/5=mod〔1〕。
7312-1=7311=3*2437 7312-2=7310=5*1462 7312-4=7308=7*1044 7312-6=7306=13*562

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-07
1)由于被3和5除都余2,所以这个数应该是:3×5×A+2(A是整数),为了使3×5×A+2的得数能满足再除以7余4的条件,只好假设A=1、A=2、A=3……逐一去试,看哪个数能满足被7除余4这个要求。假设,当 A=1时,即 3×5×l+2=17,(17÷7=2……3,不符合要求);

当A=2时,即 3×5×2+2=32(32÷7=4……4,符合被7除余4的要求)。

(2)如果这队士兵人数在三四百人之间,应该用 3×5×7 的积乘以 3再加此题一系列答案中最少的一个32。即:

3×5×7×3+32=347(人)

数学上把这类问题称为不定方程问题。本回答被提问者采纳
第2个回答  2023-08-01
汉高祖刘邦问大将军韩信统御兵士多少,韩信答说:每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人。
相似回答