標籤:

應用鴿巢原理的紙牌魔術一則

(題圖版權歸視覺中國)

這是我從這個文件中學到的兩個小魔術(以及下一篇),在第33個教師節介紹給大家,因為我堅持認為「教師」就是一種「傳遞」

【魔術簡介】

魔術師邀請一位不知情的觀眾從一副標準的撲克牌(52張)中隨機選出5張牌。這位觀眾把它們展示給魔術師的助手,但不向魔術師展示。助手看過這5張牌後,從中選擇4張,並按照一定的順序逐一展示給魔術師看。魔術師便可以說出第5張紙牌的花色和點數。


【魔術揭秘】

助手只能通過按照某種次序展示其中4張紙牌,來向魔術師傳遞第5張牌的信息,具體而言就是第5張牌的花色和點數。

(1) 首先,注意到在任意五張紙牌中都必然有兩張牌花色相同(鴿巢原理)。助手向魔術師展示的第一張牌就是這兩張牌中的一張——這事實上就告訴了魔術師第5張牌的花色。而假如兩張牌是?3和?J時,助手要選擇哪一張向魔術師展示?還是隨意一張都可以?——這個選擇是要由第5張牌的點數決定的。

(2) 接下來需要確定的是第5張牌的點數

按順時針方向將同一套花色的撲克牌從A(1)到J(11)、Q(12)和K(13)循環編號(即點數1排在點數13之後)排成一個圓形序列。

對於任意給定的兩張紙牌(同花色) XY ,定義 distance(X, Y) 定義為從 XY 的順時針距離(即 (Y-X)(mod 13) )。例如 distance(A, 7)=6distance (7, A)=7

distance(X, Y) 具有如下性質: distance(X, Y)+distance(Y, X)=13 。(第二次)使用鴿巢原理,可以得到——或者 distance(X,Y)leq6 ,或者 distance(Y, X)leq6

於是回到「助手要選擇同色牌中的哪一張向魔術師展示?」問題,回答是——從相同花色的 XY 兩張牌中,助手向魔術師展示紙牌 X ,使得 distance(X, Y)leq 6 。例如兩張同花色紙牌是?3和?J時,助手要向魔術師展示?J而隱藏?3,這是因為 distance(J, 3)=5distance(3,J)=8

這事實上界定了第5張牌的範圍(6種可能),例如助手向魔術師展示牌?5時,表明第5張牌來自{?6, ?7, ?8, ?9, ?10, ?J}。

(3) 下面使用第2、3、4張紙牌來說明第5張紙牌是這6種可能中的哪一個

對於所有52張紙牌(從1到52)進行編號以便排序,如表1所示。

於是,任意3張不同的紙牌都可以「排序」為「大」、「中」、「小」。由是可以形成3!=6個全排列,一一對應著1-6這6個數值:

小、中、大 ? 6

小、大、中 ? 5

中、小、大 ? 4

中、大、小 ? 3

大、小、中 ? 2

大、中、小 ? 1

因此助手可以通過給出第2、3、4張紙牌的一個全排列來指代1-6中的一個值,由是可以由這個值向魔術師表明第5張牌是6種可能中的第幾張。


魔術示例

最後給出一個完整的魔術示例:假設五張牌選擇如圖2所示

助手注意到?3和?7花色相同,由於 distance(3, 7)=4distance(7, 3)=9 ,因此助手選擇?3作為第1張展示給魔術師的紙牌。

7-3=4 ,4對應的排列是「中、小、大」,因此助手將依次展示給魔術師?5?2?6。


推薦閱讀:

盒子悖論,怎麼解?
完美的「洗」牌?
火腿三明治定理(ham sandwich theorem)

TAG:趣味数学 |