原创:听说过“韩信点兵”的故事吗?
原標題:聽說過“韓信點兵”的故事嗎?
不知道大家小時候有沒有聽過一首歌謠:
“三人同行七十稀,五樹梅花二十一,七子團圓正半月,除百零五便得知。”
實際上這個歌謠是一個古老數學題的解法。
韓信點兵
在數學典籍《孫子算經》中,有許多著名的數學問題。其中最有名的是“雞兔同籠”問題。除此之外,另一個流傳很廣的經典問題,被后人稱為“物不知數”問題:
“有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?”
意思是說:有一堆物體不知道有幾個。如果三個三個分組,最后會剩下2個;如果五個五個分組,最后會剩下3個;如果七個七個分組,最后會剩下2個。問這些物體一共有幾個?
后來,人們為了讓這個問題更具體化,就把它改編成“韓信點兵”問題。
有一次戰斗后,韓信要清點士兵的人數。讓士兵三人一組,就有兩人沒法編組;五人一組,就有三人無法編組;七人一組,就有兩人無法編組。那么請問這些士兵一共有幾人?
宋朝數學家秦九韶在《數書九章》中對這個問題做出了完整系統的解答。明朝數學家程大位在《算法統宗》中將解法編成易于上口的《孫子歌訣》,就是文初的那首歌謠。
同余
現在我們一起來解決這個問題。首先我們來了解一下同余的概念。a和b關于c同余,意思是說a除以c和b除以c的余數相同。例如:8÷5=1余3,3÷5=0余3,所以8和3關于5同余,寫作8≡3(mod 5),其中mod讀作“模”。而且,由于3小于5,所以3本身就是3除以5的余數,因此8≡3(mod 5)也可以理解為8除以5的余數是3。
這樣,韓信點兵問題就可以表示為數學語言了。有一個數字x,除以3余2,除以5余3,除以7余2, 那么這個數字是多少?數學寫法是
對于這個問題,最基本的解法是窮舉法,就是把滿足每個條件的數字寫出來,然后找到相同的數字。
但是,這個問題的解并不是唯一的。3、5、7彼此互質,它們的最小公倍數是105。也就是說,105除以3、除以5或者除以7都沒有余數。如果一個數字x是滿足要求的,那么在x上加上幾個105都不會改變它對3、5、7的余數。比如,23是滿足要求的,那么23+105=128也是滿足要求的,23+210=233也是滿足要求的。
所以這個問題最后的解就是23+105n,其中n=0,1,2,3…
歌謠
那么,程大位在《算法統宗》中的歌謠又是什么意思呢?其實這個口訣是一個快速的算法,那就是:
例如在“韓信點兵”問題中,除以3的余數是2,除以5的余數是3,除以7的余數是2,那么前三句話就是70×2+21×3+15×2=233,233減去105等于128,128減去105=23,那么23、128、233等就都是這個問題的答案。
這個口訣的證明其實也并不難:
中國剩余定理
余數問題是一個重要的數學問題,是計算機密碼學的基石之一。世界著名的數學家歐拉、高斯等人,都曾經研究過這個問題。中國古代的先賢在這方面取得了豐碩的成果。“韓信點兵”問題只是一個例子,這樣的問題有更加普遍和系統化的表示方法。而這個方法,就被世界稱為“中國剩余定理”,是我國為數不多的獲得世界公認的古代數學成就之一。
責任編輯:
總結
以上是生活随笔為你收集整理的原创:听说过“韩信点兵”的故事吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比热容的例子
- 下一篇: 为何恶人有恶报,善人呢?