李觀銀
傳說漢高祖劉邦曾問大將韓信:“你看我能帶多少兵?”韓信斜了劉邦一眼,說:“你頂多能帶十萬兵吧!”
漢高祖心中有三分不悅,說:“那你呢?”心想:你竟敢小看我!
韓信傲氣十足地說:“我呀,當然是多多益善嘍!”
劉邦心中又添了三分不高興,勉強說:“將軍如此了不起,我很佩服.現在我有一個小小的問題向將軍請教,憑將軍的才能,答起來一定不費吹灰之力.”
韓信滿不在乎地說:“可以,可以.”
劉邦狡黠地一笑,叫來一小隊士兵隔墻站隊(不足100人),劉邦發令:“每三人站成一排.”
隊伍站好后,小隊長進來報告:“最后一排只有兩人.”
劉邦又傳令:“每五人站成一排.”
小隊長報告:“最后一排只有三人.”
劉邦再傳令:“每七人站成一排.”
小隊長報告:“最后一排只有兩人.”
劉邦轉臉問韓信:“敢問將軍,這隊士兵有多少人?”
韓信脫口而出:“二十三人.”
劉邦大驚,心中的不快已增至十分,心想:此人本事太大,我得想法找個借口把他殺掉,免生后患.于是劉邦佯裝笑臉夸了幾句,并問:“你是怎么知道的?”
韓信說:“臣幼得黃石公傳授《孫子算經》,算經中載有此題之算法,口訣是:三人同行七十稀,五樹梅花廿一枝,七子團圓月正半,除百零五便得知.”
劉邦出的這道題,用現代語言可這樣表述:一個正整數,被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,即是所求.
這個算法在我國有許多名稱,如“韓信點兵”“鬼谷算”“隔墻算”“剪管術”“神奇妙算”等,題目與解法都記載于我國古代重要的數學著作《孫子算經》中.宋朝的數學家秦九韶把這個問題推廣,并把解法稱之為“大衍求一術”.這個解法傳到西方后,被稱為“中國剩余定理”.而韓信,則最終被劉邦的妻子呂后誅殺于未央宮.
(作者單位:江蘇省句容市天王中學)