吃着热狗就把数学整明白了?
不要走開,精彩馬上開始!
中國剩余定理是關于最小公倍數的一個古老而強大的擴展。
如果你曾經為了戶外燒烤而買過熱狗,你可能會發現自己正在解一道涉及最小公倍數的數學題。這里涉及的問題是:為什么通常一袋熱狗有 10 根,而一袋面包卻只有 8 塊?這使得我們需要用數學的方法搭配熱狗和面包的數量。
一個簡單的解決辦法是買 8 袋熱狗和 10 袋面包,但誰會需要 80 根熱狗呢? 那么,你能買更少的袋數,仍然使熱狗和面包的數量相匹配嗎?
讓我們列出通過購買不同袋數而獲得每種物品的數量。
每個列表上都有一個 40 ,因為 40 是 10 和 8 的最小公倍數(LCM)——它是能被這兩個數字整除的最小正整數。如果你買 4 袋熱狗和 5 袋面包, 40 根熱狗就會和 40 個面包完美搭配。
但如果熱狗的包裝是一袋有 5 根(質數數量),而且 40 個熱狗超過了你的需求,那該怎么辦?你還有比買 8 袋熱狗 5 袋面包更簡單的方法嗎?下圖是新的列表。
在這種情況下,熱狗和面包的數量達到 40 之前是不匹配的,因為 40 是 5 和 8 的最小公倍數。這是因為 5 和 8 “互質”——它們的公因數只有 1?。當兩個數互質時,最小公倍數就是它們的乘積。當你開始列出8的倍數—— 8 × 1 , 8 × 2 , 8 × 3 , 8 × 4 , 8 × 5 ——你可以看到,除了 8 × 5 之外沒有其他 5 的倍數。
但是,當兩個數不是互質整數時,它們的公倍數有機會在達到兩者乘積之前匹配起來。
在第一個例子中,10 和 8 不是互質的,因為它們都有一個因子—— 2 :
10 = 2 × 5,
8 = 2 × 4,
因為 8 已經能被 2 整除,所以你只需要找到一個 8 的倍數,讓它能被 5 整除,這個數就能被 10 整除。這就是為什么最小公倍數為 8 × 5 = 40 ,而遠未達到 8 × 10 = 80 。
現在假設你去商店之前發現冰箱里剩了一根熱狗,那么你要再分別買多少袋熱狗和面包來搭配?
這個新問題超越了簡單的最小公倍數問題,進入了更為復雜的中國剩余定理領域。
中國剩余定理最早是由中國數學家孫子在約2000年前提出的。中國剩余定理存在于一個叫做模算術的數學領域,該領域通過分析數被其他數除后的余數來研究數學,被用于從密碼學到天文學的多個領域。讓我們看看熱狗和最小公倍數如何幫助我們理解這個古老的算法。
如果你冰箱里有一根熱狗,你可以在商店里買每袋 5 根的熱狗,下面列出了你可以帶出去野餐的熱狗數量:
因為熱狗的數量總是 1 加上 5 的倍數,所有這些數除以 5 的余數都是 1 。令 x 等于熱狗的數量,這個關系式可以寫成:
x?≡ 1 mod 5.
表述為“整數?x 與?1 對模 5 同余”,意思是 x 除以 5 余數為 1 。你也可以說“ x 同余于 1 模 5 ”。
因為面包的數量總是 8 的倍數,所以除以 8 的余數總是 0 。如果 y 是熱狗面包的數量,這個關系式可以寫成:
y ≡ 0 mod 8.
我們想要熱狗的數量和面包的數量相等,所以要求 x = y ,為了找出什么時候成立,我們可以解出下面的方程組:
x ≡ 1 mod 5
x ≡ 0 mod 8
在一個方程組中,解一個同余方程組的目標是同時滿足所有的同余。
我們想要找到一個數 x ,當它除以 5 時余數為 1 ,且當它除以 8 時余數為 0 。如果能做到這一點,我們的熱狗和面包就能完美搭配。
中國剩余定理就是用來處理這類系統的。它告訴我們,只要兩個除數(也稱為模)是互質數,不管余數是多少,就有一個大于或等于零但小于模乘積的唯一解。(如果兩個模不是互質的,則可能沒有答案。例如, x = 1 mod 6 和 x = 2 mod 8 的方程組沒有解,無論是小于 24 還是大于 24 。)因為 5 和 8 是互質整數,所以這個方程組應該有一個小于 40 的唯一解。
這個問題中的數字很小,所以我們可以通過列出熱狗和面包的可能數量來找到答案:
如你所見,兩個表上都有小于 40 的數 16 ,這便是方程組的解。我們可以很快地檢查, 16 除以 5 的余數是 1 、除以 8 的余數是 0 。(注意,如果你把 40 ,也就是 5 和 8 的最小公倍數加上 16 ,你得到的 56 便是下一個方程組的解。)
中國剩余定理不僅保證了解的存在,而且還給出了求解的方法。該算法依賴于這樣一個事實:如果兩個數互質,你總能找到它們的整數組合等于 1 。
讓我們看看這如何應用于另一個野餐問題。
想象一下,除了一個吃剩的熱狗,你還有兩個吃剩的面包?,F在你要買多少包熱狗和面包才能匹配得上這些東西?
為了回答這個問題,我們需要解出以下的同余方程組:
x?≡ 1 mod 5
x?≡ 2 mod 8
為了找到由中國剩余定理確定的解,我們將使用這樣一個事實:因為 5 和 8 是互質數,它們的某個線性組合為 1 。這句話的意思是,我們可以找到整數 a 和 b ,使 5a + 8b = 1 。你可以很容易地檢查 a = ?3 和 b = 2 是否滿足:
5?× ( -3 )?+ 8?× 2 = 1.
為了找到我們的解,中國剩余定理的算法告訴我們,用5 × ( -3 ) 乘以面包的余數 2 ,用 8 × 2 乘以熱狗的余數 1 ,然后把結果相加:
2?× 5?× ( -3 ) + 1?× 8?× 2 = -14.
就是說,我們最后可以吃到 ?14 個熱狗和 ?14 個面包來進行匹配的熱狗面包,這聽起來像一個關于數學家計劃野餐的垃圾笑話的笑點。但其實我們真正的解就藏在這里。記住,我們知道 8 袋熱狗和 5 袋小面包的值都是 40 (就像我們之前的例子中 16 和 56 的解一樣),所以我們只需要把 40 加??14 得到 26 , 26 便是大于 0 小于 40 的唯一解,而這便是由中國剩余定理決定的。
你可以看到, 26 個熱狗和 26 個面包解決了這個問題,如果你把每一個可能的數字列出來:
有一個簡單而巧妙的理由來解釋中國的余數定理為什么成立。要知道為什么,想想所有小于 5 和 8 最小公倍數 40 的 5 的倍數:
這些倍數是 0 × 5 , 1 × 5 , 2 × 5 , 3 × 5 , … ,和 7 × 5 ,共有 8 個大于等于 0 但小于 40 的 5 的倍數。因為這些倍數都小于最小公倍數 40 ,所以當它們被 8 整除時,余數肯定是不同的;如果其中任意兩個數除以 8 的余數相同,那么它們的差就能被 8 整除,兩個 5 的倍數之差也是 5 的倍數,于是這個差必然能被 5 和 8 同時整除,這樣就能被 40 整除。這是不可能的,因為小于 40 的兩個 5 的倍數不可能是 40 。
看看這里所有不同的余數:
因為除以 8 只有 8 個可能的余數,所有可能的余數都會出現在這個列表上。這意味著 5 在 40 以下的倍數包含了對 8 取余的所有可能的余數。換句話說,如果你冰箱里剩下的面包數量小于一袋,你就能做出少于 40 個熱狗。數學上用同余方程組表述:
x?≡ 0 mod 5
x?≡ a mod 8
對于任意 a ,解總是小于 40 ,只要檢查一下上面的余數列表:對于 a = 1 ,解是 x = 25 ;對于 a = 2 ,解是 x = 10 ,以此類推。
如果你一開始多一個熱狗呢? 每當熱狗數增加 1 時,余數增加 1 。但是因為所有的余數同時被移動了 1 ,所以所有 8 個可能的余數仍然可以被表示出來。
注意,余數7向上移 1 等于 7 + 1 = 8 ,如果一個數除以 8 的余數是 8 ,那么它實際上是 8 的倍數,所以余數實際上是 0 對 8 取余。
這意味著同余方程組:
x?≡ 1 mod 5
x?≡ a mod 8
也有一個小于 40 的解,對于 a = 1 ,解是 x = 1 ;對于 a = 2 ,解是 x = 26 ,以此類推。
這個推理可以概括為:
x?≡ b mod 5
x?≡ a mod 8
對于每一個 a 和 b 都有一個小于 40 的解,并進一步推廣以證明每個同余方程組的形式:
x?≡ b mod m
x?≡ a mod n
只要 m 和 n 互質,就存在一個小于 m × n 的解。這是中國剩余定理最基本的內容。
這個定理和許多數論技巧一樣,在密碼學中很有用,密碼學是編碼和解碼秘密信息的數學。例如,你可以使用這個定理對一個數字加密,需要一組人共同合作來識別它。
假設你有一個想要保密的數字,在你的朋友張三和李四一起同意他們想知道這個數字后才能解密。首先給他們分配一對互質數——比如,張三和李四分別是 13 和 17 ——它們的乘積大于你的秘密數字?,F在用你的數字除以他們每個人的數字,給他們每個人各自的余數。他們各自都不會知道你的數字,但他們肯定能一起算出來,這要感謝中國剩余定理!
假設你告訴張三的是 11 ,告訴李四的是 15 。這意味著張三知道你的數 x 滿足 x ≡ 11 mod 13 ,李四知道 x 滿足 x ≡ 15 mod 17 。這兩個方程單獨都不足以確定你的密碼,但它們一起構成了這個同余方程組:
x?≡ 11 mod 13
x?≡ 15 mod 17
而中國剩余定理保證了該方程組有一個小于 13 × 17 = 221 的唯一解。張三和李四一起合作,就能算出你的號碼是 219 。
你可能不需要中國剩余定理來計劃你的下一次野餐,但如果你需要在你的朋友之間分享信息或秘密地與你的將軍分享部隊數目,那你最好確保這個中國剩余定理在你的計劃當中。
練習
1. ?解釋為什么這個同余方程組沒有解:
x ≡ 1 mod 4
x ≡ 0 mod 6
為什么這不違反中國剩余定理?
答案
點擊下方空白處獲得答案
只有奇數滿足 x ≡ 1 mod 4 ,只有偶數滿足 x ≡ 0 mod 6 ,所以這個同余方程組沒有解。這并不違反中國的余數定理,因為模 4 和模 6 不是互質數。
2. ?在解決熱狗問題的時候:
x ≡ 1 mod 5
x ≡ 2 mod 8
我們利用 ( -3 ) × 5 + 2 × 8 = 1 的事實。13 × 5 + ( -8 ) × 8 = 1 也是正確的。如果我們用這組 1 的整數組合會發生什么呢?
答案
點擊下方空白處滑動獲得答案
使用該算法時,我們將 13 × 5 乘以面包的余數 2 , ( -8 ) × 8 乘以熱狗的余數 1 ,得到 2 × 13 × 5 + 1 × ( -8 ) × 8 = 66 。同樣,我們可以用 40 個熱狗和面包來配對,我們用 66 減去 40 得到 26 ,這是最初的解。
3. ?考慮這個同余方程組:
x ≡ 1 mod 3
x ≡ 2 mod 4
求這個方程組的三個正解,這些解對 12 取余的余數都相等,它是什么?
答案
點擊下方空白處滑動獲得答案
通過觀察,你會發現 10 是一個解。你也可以加上 3 和 4 的最小公倍數,也就是12,得到其他的解,比如 22 、 34 ,等等。因此方程組的解:
x ≡ 1 mod 3
x ≡ 2 mod 4
都滿足 x ≡ 10 mod 12 .
4. 用練習3的結果來解這個同余方程組:
x ≡ 1 mod 3
x ≡ 2 mod 4
x ≡ 3 mod 5
答案
點擊下方空白處滑動獲得答案
如練習3所示,你可以把前兩個同余的式子結合起來得到 x ≡ 10 mod 12 ?,F在你可以解這個方程組了:
x ≡ 3 mod 5
x ≡ 10 mod 12
注意到 5 × 5 + ( -2 ) × 12 = 1 ,所以一個解是 10 × 5 × 5 + 3 × ( -2 ) × 12 = 178 。你也可以減去 60 ( 12 和 5 的最小公倍數,以及 3 、 4 和 5 的最小公倍數)來找到更小的解,比如 118 和 58 。這說明了如何將中國剩余定理推廣到包含兩個以上式子的同余方程組。
作者:Patrick Honner
翻譯:C&C
審校:NKXXX?及?zhenni
原文鏈接:
https://www.quantamagazine.org/the-secret-math-of-hot-dogs-and-buns-20211118/
我們是誰:
MatheMagician,中文“數學魔術師”,原指用數學設計魔術的魔術師和數學家。既取其用數學來變魔術的本義,也取像魔術一樣玩數學的意思。文章內容涵蓋互聯網,計算機,統計,算法,NLP等前沿的數學及應用領域;也包括魔術思想,流程鑒賞等魔術內容;以及結合二者的數學魔術分享,還有一些思辨性的談天說地的隨筆。希望你能和我一起,既能感性思考又保持理性思維,享受人生樂趣。歡迎掃碼關注和在文末或公眾號留言與我交流!
掃描二維碼
關注更多精彩
聊一聊數學中的基本定理(五)——主定理
Gilbreath原理中的數學與魔術(九)——Max Maven作品選
魔術的邏輯(三)——明明是假的,但為何奇跡依舊美妙?
扒一扒那些叫歐拉的定理們(十二)——經濟學里的歐拉定理
點擊閱讀原文,往期精彩不錯過!
總結
以上是生活随笔為你收集整理的吃着热狗就把数学整明白了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux hping3命令,Linux
- 下一篇: GIS基础软件技术体系发展及展望