西漢大將韓信和德國(guó)數(shù)學(xué)家的成功秘密
“韓信帶兵,多多益善”為何會(huì)有這樣的說法呢?其實(shí)他的成功和中國(guó)的一個(gè)定理有很大關(guān)系。這個(gè)定理是什么呢?
漢高祖劉邦曾問大將韓信:“你看我能帶多少兵?”韓信斜了劉邦一眼說:“你頂多能帶十萬兵吧!”漢高祖心中有三分不悅,心想:你竟敢小看我!“那你呢?”韓信傲氣十足地說:“我呀,當(dāng)然是多多益善啰!”劉邦心中又添了三分不高興,勉強(qiáng)說:“將軍如此大才,我很佩服?,F(xiàn)在,我有一個(gè)小小的問題向?qū)④娬?qǐng)教,憑將軍的大才,答起來一定不費(fèi)吹灰之力的?!表n信滿不在乎地說:“可以可以?!眲罱器锏匾恍?,傳令叫來一小隊(duì)士兵隔墻站隊(duì),劉邦發(fā)令:“每三人站成一排?!标?duì)站好后,小隊(duì)長(zhǎng)進(jìn)來報(bào)告:“最后一排只有二人?!薄皠钣謧髁睿骸懊课迦苏境梢慌??!毙£?duì)長(zhǎng)報(bào)告:“最后一排只有三人?!眲钤賯髁睿骸懊科呷苏境梢慌??!毙£?duì)長(zhǎng)報(bào)告:“最后一排只有二人?!眲钷D(zhuǎn)臉問韓信:“敢問將軍,這隊(duì)士兵有多少人?”韓信脫口而出:“二十三人。”劉邦大驚,心中的不快已增至十分,心想:“此人本事太大,我得想法找個(gè)岔子把他殺掉,免生后患?!币幻鎰t佯裝笑臉夸了幾句,并問:“你是怎樣算的?”韓信說:“臣幼得黃石公傳授《孫子算經(jīng)》,這孫子乃鬼谷子的弟子,算經(jīng)中載有此題之算法,口訣是:
三人同行七十稀,
五樹梅花開一枝,
七子團(tuán)圓正月半,
除百零五便得知。”
劉邦出的這道題,可用現(xiàn)代語言這樣表述: “一個(gè)正整數(shù),被3除時(shí)余2,被5除時(shí)余3,被7除時(shí)余2,如果這數(shù)不超過100,求這個(gè)數(shù)?!?/p>
1900年,德國(guó)大數(shù)學(xué)家大衛(wèi)·希爾伯特歸納了當(dāng)時(shí)世界上尚未解決的最困難的23個(gè)難題。后來,其中的第十問題在70年代被解決了,這是近代數(shù)學(xué)的五個(gè)重大成就。
據(jù)證明人說,在解決問題的過程中,他是受到了“中國(guó)剩余定理”的啟發(fā)的。
那么什么是“中國(guó)剩余定理”呢?
《孫子算經(jīng)》中給出這類問題的解法:“三三數(shù)之剩二,則置一百四十;五五數(shù)之剩三,置六十三;七七數(shù)之剩二,置三十;并之得二百三十三,以二百一十減之,即得。凡三三數(shù)之剩一,則置七十;五五數(shù)之剩一,則置二十一;七七數(shù)之剩一,則置十五,一百六以上,以一百五減之,即得?!庇矛F(xiàn)代語言說明這個(gè)解法就是: 首先找出能被5與7整除而被3除余1的數(shù)70,被3與7整除而被5除余1的數(shù)21,被3與5整除而被7除余1的數(shù)15。 所求數(shù)被3除余2,則取數(shù)70×2=140,140是被5與7整除而被3除余2的數(shù)。 所求數(shù)被5除余3,則取數(shù)21×3=63,63是被3與7整除而被5除余3的數(shù)。 所求數(shù)被7除余2,則取數(shù)15×2=30,30是被3與5整除而被7除余2的數(shù)。 又,140+63+30=233,由于63與30都能被3整除,故233與140這兩數(shù)被3除的余數(shù)相同,都是余2,同理233與63這兩數(shù)被5除的余數(shù)相同,都是3,233與30被7除的余數(shù)相同,都是2。所以233是滿足題目要求的一個(gè)數(shù)。 而3、5、7的最小公倍數(shù)是105,故233加減105的整數(shù)倍后被3、5、7除的余數(shù)不會(huì)變,從而所得的數(shù)都能滿足題目的要求。由于所求僅是一小隊(duì)士兵的人數(shù),這意味著人數(shù)不超過100,所以用233減去105的2倍得23即是所求。 這個(gè)算法在我國(guó)有許多名稱,如“韓信點(diǎn)兵”,“鬼谷算”,“隔墻算”,“剪管術(shù)”,“神奇妙算”等等,題目與解法都載于我國(guó)古代重要的數(shù)學(xué)著作《孫子算經(jīng)》中。一般認(rèn)為這是三國(guó)或晉時(shí)的著作,比劉邦生活的年代要晚近五百年,算法口訣詩(shī)則載于明朝程大位的《算法統(tǒng)宗》,詩(shī)中數(shù)字隱含的口訣前面已經(jīng)解釋了。宋朝的數(shù)學(xué)家秦九韶把這個(gè)問題推廣,并把解法稱之為“大衍求一術(shù)”,這個(gè)解法傳到西方后,被稱為“孫子定理”或“中國(guó)剩余定理”。
韓信點(diǎn)兵是一個(gè)有趣的猜數(shù)游戲。如果你隨便拿一把蠶豆(數(shù)目約在100粒左右),先3粒3粒地?cái)?shù),直到不滿3粒時(shí),把余數(shù)記下來;第二次再5粒5粒地?cái)?shù),最后把余數(shù)記下來;第三次是7粒一數(shù),把余數(shù)記下來。然后根據(jù)每次的余數(shù),就可以知道你原來拿了多少粒蠶豆了。不信的話,你還可以試驗(yàn)一下。例如,假如3粒一數(shù)余1粒,5粒一數(shù)余2粒,7粒一數(shù)余2粒,那么,原有蠶豆有多少粒呢? 這類題目看起來是很難計(jì)算的,可是我國(guó)古時(shí)候卻流傳著一種算法,名稱也很多,宋朝周密叫它“鬼谷算”,又名“隔墻算”;楊輝叫它“剪管術(shù)”;而比較通行的名稱是“韓信點(diǎn)兵”。最初記述這類算法的是一本名叫《孫子算經(jīng)》的書。
在宋朝經(jīng)過數(shù)學(xué)家秦九韶的推廣,又發(fā)現(xiàn)了一種算法,叫做“大衍求一術(shù)”。這在數(shù)學(xué)史上是極有名的問題,外國(guó)人一般把它稱為“中國(guó)剩余定理”。
現(xiàn)在明白了吧,偉大的先人們,值得敬仰啊。