小尼到底哪錯了?北大同學揭秘春晚魔術

今年春晚

魔術師劉謙表演了

一個與紙牌相關的魔術

精妙的設計帶給觀眾極高的參與感

許多人紛紛拿出家中的撲克牌

跟着劉謙一起「見證奇蹟」

「小尼的撲克牌沒對上」

也登上了熱搜

這個魔術「奇蹟」的背後

有着怎樣的奧秘?

當春晚還在進行中

北京大學數學科學學院

2021級本科生劉明昊、李新宇、殷子縈

2022級本科生王秭如、黃天銘、王美潭

2023級本科生潘浩翔、王偉聖

便寫出一篇科普文章

從數學的角度

帶大家感受這一魔術的魅力

魔術步驟

首先,準備4張撲克牌

跟隨魔術步驟

來一起「見證奇蹟」

步驟1

將準備好的4張撲克牌

平均撕成兩份

併疊在一起

步驟2

將牌堆頂數量為

名字字數的牌

移至牌堆底

步驟 3

將前三張牌放在牌堆中間

並取出牌堆頂的牌

放置在一旁

步驟 4

取出牌堆頂的若干張牌

插入牌堆中間

此處選擇的牌數為

南方人取1張,北方人取2張

若不確定是南方人還是北方人取3張

步驟 5

男生扔掉牌堆頂1張

女生扔掉牌堆頂2張

步驟 6

執行「見證奇蹟的時刻」循環

每說一個字

就取出牌堆頂一張牌放置在牌堆底

步驟 7

執行如下操作

從牌堆頂開始

每次先將牌堆頂的一張牌放在牌堆底

再扔掉牌堆頂的一張牌

重複以上操作直到只剩一張牌

檢查此牌和放置在一旁的牌是否吻合

若吻合,則魔術成功

魔術揭秘

怎麼樣,你的撲克牌對上了嗎?

下面,幾位北大同學將按照步驟順序

一步步為你揭秘背後的邏輯

步驟一

我們令選擇的四張撲克牌分別為1234,將他們分別撕開後,產生了標號分別為1234的兩套(半張)撲克牌,疊在一起後形成了從上至下標號分別為12341234的撲克牌堆。

步驟二

此時我們可以注意到,無論我們將牌堆頂的多少張牌移到堆底,得到的撲克牌堆編號(從上至下)都只會有以下幾種結果:

12341234(名字字數被四整除)

23412341(名字字數模四餘一)

34123412(名字字數模四餘二)

41234123(名字字數模四餘三)

觀察以上可能的牌堆,我們可以發現產生的牌堆都具有以下性質:1. 前四張牌和後四張牌的順序完全一樣2. 前四張牌和後四張牌分別是1234的一個輪換

步驟三

從這一步開始,我們只考慮當前牌堆中排在第四及第八的兩張牌,記為x,其他牌記為0。那麼根據上一步的討論,可以得到當前的牌堆形如:

000x000x

將前三張放在牌堆中間後,無論這三張放在什麼位置,最終產生的牌堆都將是:

x000000x

於是乎,被選擇的用於配對的牌就將是x,而另一張與之配對的牌(稱為目標牌)將位於牌堆底。

步驟四

在上一步之後,牌堆的編號為000000x,於是,無論本輪中選擇牌堆頂多少張牌插入牌堆中,都不會影響目標牌的位置,仍然處於牌堆底部。

步驟五

此時男生的牌堆為:00000x女生的牌堆為:0000x

步驟六

通過嘗試可知,在經過步驟六後將得到如下的牌堆:男生:0000x0女生:00x00

步驟七

通過上述揭秘

相信大家不難看出

這個魔術的背後

其實是一個數學上的問題

它被稱為約瑟夫問題

約瑟夫問題

設有編號為1,2,......,n的n個人圍成一個圈,從第1個人開始報數,報到m時停止報數,報m的人出圈。再從他的下一個人起重新報數,報到m時停止報數,報m的出圈......按照這個規則進行下來,直到所有人全部出圈為止。求最後留下來的人編號。為了使問題簡化,我們考慮n個人編號為0 ~ n-1的情況,每 m 個人退出一個人,我們稱之為(n, m)問題。第一個人(即編號為在模n下同餘m的人)退出之後,對剩下的 n-1 個人重新編號,則新問題的k號在原問題中對應 k+m 號。因此(n, m)問題的解 j (n, m) = j (n-1, m)+m 且 j (1, m) = 1(模n意義下)。據此,通過遞推的方法可以得到 j (n, m)。在實踐中,約瑟夫問題一般用代碼進行求解。劉謙的魔術中使用的便是 m=2 的特殊情況。

那麼主持人小尼

為什麼失敗了呢?

一起來看看背後的原因

根據上面的證明過程,我們不難發現:在步驟3與步驟4中,如果操作正確,每位主持人手中最底部的一張牌沒有變化,而這恰好是步驟7後留下的一張牌。

然而,在進行步驟4時,注意尼格買提的手上動作:

鏡頭捕捉到插入過程中,原本位於底部的牌面花紋被另一張牌覆蓋,也就是說,尼格買提並未按要求將兩張牌放入中間位置,從而導致他最終匹配的失敗。

聽完北大同學的講解

你理解魔術背後的數學問題了嗎?