韓信與數學

韓信是中國歷史上最有名的軍事家之一,被劉邦和呂后出於嫉妒和私心害死了。歷史上很多史家和學者為他平反,眾多的詩人為他留下大量的詩篇。圍繞著韓信還流傳了各種各樣的傳說。在今天我們所介紹的兩則傳說中,人們把他作為智慧的化身,就寄託著歷代人們對他的深切的同情和懷念。

韓信分油

據說有一天,韓信騎馬走在路上,看見兩個人正在路邊為分油發愁。這兩個人有一隻容量10斤的簍子,裡面裝滿了油;還有一隻空的罐和一隻空的葫蘆,罐可裝7斤油,葫蘆可裝3斤油。要把這10斤油平分,每人5斤。但是誰也沒有帶秤,只能拿手頭的三個容器倒來倒去。應該怎樣分呢?

韓信騎在馬上,瞭解情況以後,說:「葫蘆歸罐罐歸簍,二人分油回家走。」說完了,打馬就走。兩個人按照韓信的辦法倒來倒去,果然把油平均分成兩半,每人5斤,高高興興,各自回家。究竟是怎樣倒來倒去的呢?三種容器各自裝油斤數的變化過程,可從下面的表中看出。

10
7
7
4
4
1
1
8
8
5
5
0
0
3
3
6
6
7
0
2
2
5
葫蘆
0
3
0
3
0
3
2
2
0
3
0

韓信所說的「葫蘆歸罐」,是指把葫蘆裡的油往罐裡倒;「罐歸簍」是指把罐裡的油往簍裡倒。通常分油要把油從大容器往小容器裡倒,現在卻把小容器裡的油往大容器裡「歸」。往油葫蘆裡倒油,只能得到3斤的油量;把葫蘆裡的油往罐裡「歸」,「歸」到第三次,葫蘆裡就出現2斤的油量。再把滿滿一罐油「歸」到簍裡,騰出空來,把葫蘆裡的2斤油「歸」到空罐裡;最後再倒一葫蘆3斤油,「歸」到罐裡,就完成分油任務了。

韓信點兵

秦朝末年,楚漢相爭。一次,韓信將1500名將士與楚王大將李鋒交戰。苦戰一場,楚軍不敵,敗退回營,漢軍也死傷四五百人,於是韓信整頓兵馬也返回大本營。當行至一山坡,忽有後軍來報,說有楚軍騎兵追來。只見遠方塵土飛揚,殺聲震天。漢軍本來已十分疲憊,這時隊伍大嘩。韓信兵馬到坡頂,見來敵不足五百騎,便急速點兵迎敵。他命令士兵3人一排,結果多出2名;接著命令士兵5人一排,結果多出3名;他又命令士兵7人一排,結果又多出2名。韓信馬上向將士們宣布:我軍有1073名勇士,敵人不足五百,我們居高臨下,以眾擊寡,一定能打敗敵人。漢軍本來就信服自己的統帥,這一來更相信韓信是「神仙下凡」、「神機妙算」。於是士氣大振。一時間旌旗搖動,鼓聲喧天,漢軍步步進逼,楚軍亂作一團。交戰不久,楚軍大敗而逃。

當時韓信是怎麼算出來的,我們不知道。從歷史上留下的典籍中,可以查出這種類型的算題最早出現在「孫子算經」中。它成書於公元3世紀左右,原作者已不可考。魏晉時期著名數學家劉徽曾為「孫子算經」作過註解。書中給出的演算法是這樣的:用以3作除數所得餘數2乘以70,加上以5作除數所得餘數3乘以21,再加上以7作除數所得餘數2乘以15,得233。減去兩個105後,得23。這個23就是滿足上述各條件的最小整數。實際上(23+K*105),其中的K表示‘乘以’,當K等於任何正整數時,都可以滿足所說的條件。因此要想得到準確數值還需要知道該數所在範圍。韓信的1500將士在戰鬥後死傷四五百人,由此可知準確人數為1073。根據「孫子算經」的這個演算法總結出有名的「中國剩餘定理」,比內容相同的「高斯定理」早問世1500年。

宋朝有人把「孫子算經」給出的解法寫成口訣:

三歲孩兒七十稀,
五留廿一事尤奇。
七度上元重相會,
寒食清明便可知。

注意詩中「上元」指的是正月十五元宵節,寒食到清明整整105天。明朝的程大位所給出的口訣更易懂些:

三人同行七十稀,
五樹梅花廿一枝。
七子團圓正月半,
除百零五便得知。

傳說中韓信點兵的故事還有另一種說法:「韓信有兵一隊,若列為五行縱隊,則末行一人,成六行縱隊,則末行五人,成七行縱隊,則末行四人,成十一行縱隊,則末行十人,求兵數。」此題同樣可用「中國剩餘定理」得到答案。
本文留言

近期讀者推薦