陳丹陽
韓信是漢初名將,民間流傳一句歇后語“韓信點兵——多多益善”,用來形容韓信的軍事才能。有意思的是,“韓信點兵”也是一個流傳很廣的數學問題。據說韓信在點兵的時候,會先讓士兵三人站成一排,記下最后多出的人數;再讓士兵五人站成一排,又記下最后多出的人數;最后讓士兵七人站成一排,同樣記下最后多出的人數。這樣他就能算出自己部隊的總人數了。
在我國,“韓信點兵”問題最早出現(xiàn)在南北朝時期的數學著作《孫子算經》中,叫做“物不知數”問題:“一個整數除以三余二,除以五余三,除以七余二,求這個整數?!边@個問題因此也被稱為“孫子問題”。此類問題在現(xiàn)代數學中叫做“一次同余問題”,其解法稱為“中國剩余定理”或“孫子定理”。
宋代數學家秦九韶在《數書九章》中對這個問題作出了完整系統(tǒng)的解答,稱為“大衍求一術”。明代數學家程大位則在《算法統(tǒng)宗》中將它的解法編成易于上口的歌訣:“三人同行七十稀,五樹梅花廿一枝,七子團圓正半月,除百零五使得知?!彼囊馑际牵簩⒊匀玫降挠鄶党艘云呤?,除以五得到的余數乘以二十一,除以七得到的余數乘以十五,全部加起來后減去一百零五(或者一百零五的倍數),得到的余數就是最后的答案。按照這個方法,《孫子算經》中“物不知數”問題的最小答案就是二十三。