IT之家 2 月 11 日消息,劉謙在今年春晚表演的魔術(shù)引發(fā)網(wǎng)友熱議,對(duì)此,北京大學(xué)官方公眾號(hào)進(jìn)行了詳細(xì)解讀,并揭秘背后的數(shù)學(xué)問(wèn)題 ——“約瑟夫問(wèn)題”。
魔術(shù)操作步驟:
步驟 1:將準(zhǔn)備好的 4 張撲克牌平均撕成兩份,并疊在一起。
步驟 2:將牌堆頂數(shù)量為【名字字?jǐn)?shù)】的牌移至牌堆底。
步驟 3:將前三張牌放在牌堆中間并取出牌堆頂?shù)呐?,放置在一旁?/p>
步驟 4:取出牌堆頂?shù)娜舾蓮埮撇迦肱贫阎虚g,此處選擇的牌數(shù)為南方人取 1 張,北方人取 2 張,若不確定是南方人還是北方人取 3 張。
步驟 5:男生扔掉牌堆頂 1 張,女生扔掉牌堆頂 2 張。
步驟 6:執(zhí)行“見證奇跡的時(shí)刻”循環(huán),每說(shuō)一個(gè)字,就取出牌堆頂一張牌放置在牌堆底。
步驟 7:從牌堆頂開始,每次先將牌堆頂?shù)囊粡埮品旁谂贫训?,再扔掉牌堆頂?shù)囊粡埮疲貜?fù)以上操作直到只剩一張牌,檢查此牌和放置在一旁的牌是否吻合。若吻合,則魔術(shù)成功。
魔術(shù)步驟揭秘:
步驟一
我們令選擇的四張撲克牌分別為 1234,將他們分別撕開后,產(chǎn)生了標(biāo)號(hào)分別為 1234 的兩套(半張)撲克牌,疊在一起后形成了從上至下標(biāo)號(hào)分別為 12341234 的撲克牌堆。
步驟二
此時(shí)我們可以注意到,無(wú)論我們將牌堆頂?shù)亩嗌購(gòu)埮埔频蕉训祝玫降膿淇伺贫丫幪?hào)(IT之家注:從上至下)都只會(huì)有以下幾種結(jié)果:
12341234(名字字?jǐn)?shù)被四整除)
23412341(名字字?jǐn)?shù)模四余一)
34123412(名字字?jǐn)?shù)模四余二)
41234123(名字字?jǐn)?shù)模四余三)
觀察以上可能的牌堆,我們可以發(fā)現(xiàn)產(chǎn)生的牌堆都具有以下性質(zhì):
1. 前四張牌和后四張牌的順序完全一樣
2. 前四張牌和后四張牌分別是 1234 的一個(gè)輪換
步驟三
從這一步開始,我們只考慮當(dāng)前牌堆中排在第四及第八的兩張牌,記為 X,其他牌記為 0。那么根據(jù)上一步的討論,可以得到當(dāng)前的牌堆形如:000X000X。
將前三張放在牌堆中間后,無(wú)論這三張放在什么位置,最終產(chǎn)生的牌堆都將是:X000000X。
于是乎,被選擇的用于配對(duì)的牌就將是 X,而另一張與之配對(duì)的牌(稱為目標(biāo)牌)將位于牌堆底。
步驟四
在上一步之后,牌堆的編號(hào)為 000000X,于是,無(wú)論本輪中選擇牌堆頂多少?gòu)埮撇迦肱贫阎校疾粫?huì)影響目標(biāo)牌的位置,仍然處于牌堆底部。
步驟五
此時(shí)男生的牌堆為:00000X。女生的牌堆為:0000X。
步驟六
通過(guò)嘗試可知,在經(jīng)過(guò)步驟六后將得到如下的牌堆:
男生:0000X0
女生:00X00
步驟七
到此,便完成劉謙本次魔術(shù)的步驟揭秘,北京大學(xué)進(jìn)一步解釋稱這其實(shí)是一個(gè)“約瑟夫問(wèn)題”:
設(shè)有編號(hào)為 1,2,……,n 的 n 個(gè)人圍成一個(gè)圈,從第 1 個(gè)人開始報(bào)數(shù),報(bào)到 m 時(shí)停止報(bào)數(shù),報(bào) m 的人出圈。再?gòu)乃南乱粋€(gè)人起重新報(bào)數(shù),報(bào)到 m 時(shí)停止報(bào)數(shù),報(bào) m 的出圈...... 按照這個(gè)規(guī)則進(jìn)行下來(lái),直到所有人全部出圈為止。求最后留下來(lái)的人編號(hào)。
為了使問(wèn)題簡(jiǎn)化,我們考慮 n 個(gè)人編號(hào)為 0 ~ n-1 的情況,每 m 個(gè)人退出一個(gè)人,我們稱之為(n,m)問(wèn)題。第一個(gè)人(即編號(hào)為在模 n 下同余 m 的人)退出之后,對(duì)剩下的 n-1 個(gè)人重新編號(hào),則新問(wèn)題的 k 號(hào)在原問(wèn)題中對(duì)應(yīng) k+m 號(hào)。因此(n, m)問(wèn)題的解 J (n, m) = J (n-1, m)+m 且 J (1, m) = 1(模 n 意義下)。據(jù)此,通過(guò)遞推的方法可以得到 J (n, m)。在實(shí)踐中,約瑟夫問(wèn)題一般用代碼進(jìn)行求解。劉謙的魔術(shù)中使用的便是 m=2 的特殊情況。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。