韩信点兵问题,即使没有学过数论也能看得懂
這個問題又叫中國剩余問題。傳說韓信有一次想知道自己有多少士兵,由于士兵太多了,直接數數太慢太麻煩了。他讓所有士兵每5個人排成一排,結果剩余3個人;每7個人排成一排,結果剩余5個人;每11個人排成一排,結果剩余5個人;每13個人排成一排,結果剩余9個人。問韓信一共有多少兵。
有趣的是,類似的問題在《射雕英雄傳》里也提到過:瑛姑因為思考這樣的問題白了頭發,結果還是黃蓉解開了這個問題,并因此順利地探知了一燈大師的下落。現在考驗你是否像黃蓉一樣聰明的時刻到了。
答案
698人
說明
5個人一排剩余3個人,說明士兵總數
????????????????????????????????????????N=5k+3,k=1、2、3、...... ? ? ? ?(1)
7個人一排,剩余5個人,說明士兵總數
????????????????????????????????????????N=7m+5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
令
????????????????????????????????????????m=5n+1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
代入(2)得:
????????????????????????????????????????N=35n+12=5(7n+2)+2 ? ? ? ? ? ? ? (4)
比較(1)、(4)兩式,會發現矛盾:N分別是5的倍數加3和5的倍數加2。這是不可能的,說明(3)式不成立。所以令
????????????????????????????????????????m=5n+2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
代入(2)得:
????????????????????????????????????????N=35n+19=5(7n+3)+4? ? ? ? ? ? ? ?(6)
同樣與(1)矛盾。以此類推,最終我們發現:
????????????????????????????????????????m=5n+4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
代入(2)得:
????????????????????????????????????????N=35n+33=5(7n+6)+3? ? ? ? ? ? ? ?(8)
與(1)相容。所以,綜合“5個人一排剩余3個人”和“7個人一排剩余5個人”這兩個條件我們得出:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N=35n+33
以同樣的方法考慮“11人人一排剩余5人”,得到:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N=35(11p+8)+33 = 35*11p + 313
這個數的確同時是35的倍數加33和11的倍數加5。最后,以同樣的方法考慮“13個人一排剩余9個人”這個條件,得到:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N=35*11*13q+698
所以士兵的總數是5*7*11*13的倍數加698。
?
?
總結
以上是生活随笔為你收集整理的韩信点兵问题,即使没有学过数论也能看得懂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美语发音的全面总结
- 下一篇: Python实例:pdf文档转txt