韩信的算法是什么意思?要详细!

汉高祖刘邦有一次问韩信将军:“你看我能带多少兵?”韩信斜了刘邦一眼,说:“你最多带十万兵!”汉高祖三分不高兴,心想,你怎么敢看不起我!“你呢?”韩信得意地说:“我当然是多多益善!”刘心中又添三分不快,勉强道:“我佩服将军如此有才。”现在,我有一个小问题要问将军。以将军的伟大才华,回答起来将是轻而易举的事。”韩信漫不经心地说,“是的,是的。”刘邦狡黠地一笑,命令一小队士兵隔着墙站成一排。刘邦下令:“每三个人站成一排。”队伍站好后,班长进来报告,“最后一排只有两个人。”“刘邦也下令:“每五个人站成一排。”班长报告:“最后一排只有三个人。”刘邦又下令:“每七个人站成一排。”班长报告:“最后一排只有两个人。”刘邦转头问韩信:“将军,这一队有多少兵?”韩信脱口而出,“二十三人。”刘邦大吃一惊,不快增加到十点。他想,“这个人太能干了。我得找个茬杀了他,以免后患。”另一方面,他又装作微笑着夸奖了几句,又问:“你怎么算的?”韩信说:“我年轻的时候,黄石公教孙子的计算。这个孙子是鬼谷子的弟子。计算包含这个问题的算法。公式是:

他们三个瘦了70倍,

五朵梅花盛开,

七个儿子在第一个月的前半个月重聚,

除以105就知道了。"

刘邦的问题可以用现代语言表述如下:

“一个正整数,除以3,除以5,再除以7,就是2。如果这个数不超过100,就找这个数。”

孙子的计算中给出了这类问题的解决方法:“三数或三数若剩二,则为140;五五数剩下的三个设为六十三;七七的数量还剩两个,30套;如果总和是233,减去210得到。三或三的数还剩一个的地方,那就设70;五或五的数还剩一个,就是二十一;如果77的数还剩一个,那就是15160多,减去150就得到。”用现代语言解释这个解决方案是:

先找出能被5和7整除又能被3整除的数70,能被3和7整除又能被5整除的数21,能被3和5整除又能被7整除的数1。

如果需要的数被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的余数是一样的,都是2。所以233是一个符合题目要求的数字。

3、5、7的最小公倍数是105,所以被3、5、7除的余数经过233加减105的整数倍后不会发生变化,所以得到的数可以满足题目的要求。因为需求只是一小群士兵的数量,也就是说士兵数量不超过100,所以233减去105的两倍得到23就是需求。

这种算法在我国有许多名称,如“韩信点兵”、“鬼谷计算”、“分区计算”、“切管”、“神算”等。题目和解法都包含在中国古代重要的数学著作《孙子兵法》中。一般认为这是三国或晋朝的作品,比刘邦的生平晚了近500年。算术公式诗载于明代程大伟《算术大一统》中,诗中数字所隐含的公式早已说明。宋代数学家秦把这个问题推广开来,称之为“大求法”。这个解传到西方后,被称为“孙子定理”或“中国余数定理”。另一方面,韩信最终在未央宫被刘邦的妻子吕后杀死。

请尝试用刚才的方法解决以下问题:

一个介于200和400之间的数字。被3除成2,被7除成3,被8除成5。找到号码。

(解:112×2+120×3+105×5+168k。如果k =-5,则数字为269。)

“韩信点兵”是什么意思?

韩信是一个有趣的猜谜游戏。如果随便拿一把蚕豆(数大概是100),先数三个,把余数写下来,直到少于三个。第二遍,数5粒5粒,最后写下余数;第三次是七粒,所以把余数写下来。然后根据每次的余数,就可以知道自己吃了多少蚕豆。不信你可以现场试试。比如三个豆数过1,五个豆数过2,七个豆数过2,那么有多少个豆?

这类问题看似很难计算,但有时我国流传着一种算法,对它的称呼也很多。宋代称“鬼谷计算”,又称“分区计算”;杨辉称之为“切管”;而比较通俗的叫法就是“韩信点兵”。这种算法最初是在一本名为《孙子舒静》的书中描述的。后来到了宋代,经过数学家秦的推广,又发现了另一种算法,叫做“大绕求术”。这是数学史上非常著名的问题,外国人一般称之为“中国剩余定理”。至于它的算法,在《孙子舒静》中已经有所说明,后来还有这样一个宋公式:

他们三个瘦了70倍,

五棵树上的二十一朵梅花,

七子团聚半月。

除以105就知道了。

这是韩信点兵的计算方法,意思是:每当用三个数的余数时,就乘以70(因为70是5和7的倍数,是1除以3的数);将五个一位数的余数乘以21(因为21是3和7的倍数,也是余数1除以5的数);将7个一位数的余数乘以15(因为15是3和5的倍数,余数除以7),将这些数相加。如果超过105,则减去105。如果余数仍然大于105,这样,得到的数就是原数。根据这个道理,你可以很容易地把前五个问题写成一个公式:

1×70+2×21+2×15-105

=142-105

=37

所以,你可以知道这一堆有37颗蚕豆。

1900年,德国大数学家大卫·希尔伯特总结了当时世界上尚未解决的23个最困难的问题。后来在70年代解决了第十个问题,这是现代数学的五大成就。据目击者称,在解决问题的过程中,他受到了中国余数定理的启发。