如果要评选2024年龙年央视春晚央视较好笑的节目,我必须毫不犹豫地投给刘谦的搞笑小品魔术。你们可能以为这个魔术的亮点在于神奇的幻术,但错了!最大的亮点其实是尼格买提现场表演时的意外翻车!
当晚,北京市公安局官微发文将其截图当成“典型案例”:“审讯的时候,如果有不断抿嘴的微表情,我们就知道他处在紧张和慌张说谎的状态……”
这不是什么演技爆棚,而是真真切切的翻车!果然,有时候最意想不到的笑点,就藏在我们认为最不可能出错的地方。刘谦的这个魔术,看似简单,其实背后蕴藏着一个深奥的数学规律。正因为其操作异常简单,尼格买提的失误才显得格外引人注目。
接来,让我们跟着魔术的步骤推演,一步步解密魔术背后的数学原理吧。
首先,我们需要四张打乱的扑克牌
把这4张牌对折,撕成两半,叠放在一起。
为了便于说明,我们将四张扑克牌分别记为
A, B, C, D
将撕开后得到的八张牌分别记作
A1, A2, B1, B2, C1, C2, D1, D2
于是,我们初始得到的扑克牌序列为
A1, B1,C1,D1,A2,B2, C2, D2
8张牌现在是ABCD-ABCD这种重复的形式
把牌背面朝上。你的名字是几个字,就从顶上拿几张到最底下。小编的名字是三个字,让我们以三个字为例。此时扑克牌的序列为:
D1,A2,B2,C2,D2,A1,B1,C1
我们可以发现,尽管调换了顺序,8张牌依然保持着ABCD-ABCD的重复形式
从牌堆最顶上拿3张牌,随意地**中间。序列变为:
C2 ,D2,A1,D1,A2,B2,B1, C1
无论这3张牌插在哪个位置,头尾两张牌都是 C2 和 C1
把最顶上的牌 C2 藏在屁股底下,也就是说此时我们手里的牌是
D2,A1,D1,A2,B2,B1, C1
于是我们最终的任务,就是在最后找到 C1 这张牌
如果你是南方人,就从牌顶拿1张牌放到中间。如果你是北方人,放2张。如果你不知道是南方人还是北方人,就插3张。小编作为湖南人,以一张牌为例子:
A1,D1,A2,D2,B2,B1, C1
无论你从顶上拿多少张牌插到中间,我们的目标牌 C1 都保持在牌尾的位置
如果你是男生,从最上面拿1张洒到空中。如果你是女生,从最上面拿2张洒到空中
此时男生剩余6张手牌:
D1,A2,D2,B2,B1, C1
此时女生剩余5张手牌:
A2,D2,B2,B1, C1
我们的目标牌 C1 依然保持不动
口中念“见证奇迹的时刻”7个字,每念一次,把一张牌从上面拿到底层。
此时的男生手牌:
A2,D2,B2,B1, C1 ,D1
此时的女生手牌:
B2,B1, C1 ,A2,D2
口中喊“好运留下来!”并把顶上的牌放到底层。再喊“烦恼丢出去!”把顶上的牌扔到空中。女生循环4次,男生循环5次。
男生的手牌变化:
起始 | A2,D2,B2,B1, C1 ,D1 |
① | D2,B2,B1, C1 ,D1,A2 B2,B1, C1 ,D1,A2 |
② | B1, C1 ,D1,A2,B2 C1 ,D1,A2,B2 |
③ | D1,A2,B2, C1 A2,B2, C1 |
④ | B2, C1 ,A2 C1 ,A2 |
⑤ | A2, C1 C1 |
女生的手牌变化:
起始 | B2,B1, C1 ,A2,D2 |
① | B1, C1 ,A2,D2, B2 C1 ,A2,D2, B2 |
② | A2,D2, B2, C1 D2, B2, C1 |
③ | B2, C1 , D2 C1 ,D2 |
④ | D2, C1 C1 |
观察上述图表不难看出,每一次的“好运留下来”都会使目标牌向前移动一位,而“烦恼丢出去”会让牌堆减少一张牌,实际每次循环时,被移出的牌永远都是每一次得到的新数组的第二个元素。。
我们可以基于这个原理,求出扑克牌数不同时对应的其他移动方法。
而整个魔术实际是数学和计算机科学中相当经典的“约瑟夫环”的一个非常精彩的演绎。
约瑟夫问题是一个经典的数学问题,又“称丢手绢问题”,经常被用作编程练习。这个问题描述了这样一个场景:有n个人围成一圈,从靠前个人开始报数,每次数到m的人会被淘汰出局,然后从下一个人重新开始报数,继续淘汰数到m的人,直到所有人都被淘汰。问题是:给定n和m,如何确定每个人的淘汰顺序?
要理解这个问题,我们可以先考虑一些简单的例子。
例1: 如果n=3,m=2,那么淘汰顺序是:2、3、1。
例2: 如果n=5,m=3,那么淘汰顺序是:3、5、2、4、1。
为了找出一般的规律,我们可以考虑这样一个策略:假设我们已经知道了n-1个人的淘汰顺序,那么第n个人何时会被淘汰呢?
假设n-1个人的淘汰顺序为: ...、y、x、1(这里x和y代表中间被淘汰的人)。
当n-1个人被淘汰后,第n个人会接到从1开始的报数。那么,当报数到m-1时,第n个人会被淘汰。此时,淘汰顺序变为: n、n-1、...、y、x、1。
但是,这个n-1个人淘汰的顺序和原来的n个人淘汰顺序有什么关系呢?
考虑这样一个事实:当第n个人被淘汰时,剩下的n-1个人实际上形成了一个新的圈,并且他们的淘汰顺序和原来的n个人淘汰顺序是一致的(只是起始点不同)。
这意味着,我们可以使用递归的方式来解决这个问题:每次找到第m个人,然后将问题规模减小到n-1,继续寻找第m个人,直到n=1为止。
具体的算法实现可以有很多种,例如使用链表、数组或递归函数等。但无论使用哪种方法,核心原理都是基于上述的淘汰顺序和递归关系。
回到魔术本身,这个魔术又是如何把纸牌引入约瑟夫问题的呢?
当我们把4张牌撕成8张,把8张牌叠在一起的时候,如果我们把最上面和最下面的牌看作连接在一起,那么我们实际上就得到了一个“环”。
我们按“好运留下来”“烦恼丢出去”开始丢牌的时候,就正式进入约瑟夫问题了。
先说“好运留下来”,把最顶部的牌放到最底部;再说“烦恼丢出去”,把顶部的牌丢出去。这就相当于我们最开始说的约瑟夫环中数数淘汰人。
以女生牌为例,换个说法就是,5个人坐成一圈,从靠前个人开始报数,数到2的人淘汰。他的下一个人接着从1开始报数,数到2的那个人又淘汰。最后谁会被剩下?
尽管这个魔术实际上只是一个简单的数学原理 。但在2024年的除夕夜,一台多年来备受争议的晚会上,一位多年来不断精进的魔术师,带领着手机、电视机、广播、公共屏幕前数亿疲惫了一年的你、我、他———
天涯共此时。