2024春晚魔术原理
刘谦居然又上春晚了!还带了一个人人都能做的数学魔术,这必须好好揭秘一波。
魔术流程
简单概括如下:
- 取四张洗乱,叠在一起。
- 从中间撕开,将两叠一上一下叠好。
- 一张一张地拿 \(x\) 张到最下面(放一张拿一张),其中 \(x\) 是你的名字长度。
- 拿起最上面三张,一起放到中间任何一个位置。
- 把最上面一张藏起来。
- 拿起最上面 \(y\) 张,插到中间任何一个位置。其中 \(y\) 是你的地区决定的。南方 1,北方 2,不知道为 3。
- 拿起最上面 \(z\) 张,扔掉。其中 \(z\) 由性别决定,男 1,女 2。
- 一张一张从最上面拿到最下面。重复七遍。
- 反复操作:最上面一张放到最下面,再取最上面一张扔掉。反复直到只剩一张。
- 这一张和刚才藏起来的一张是一套。
魔术原理
第一步不评价。
第一个关键点是第二步。因为是一上一下,所以是按照 \(ABCDA'B'C'D'\) 这样的顺序排的。换句话说,对应牌直接正好隔三张。
然后第三步。注意到是一张一张地拿,所以对牌的相对顺序没啥影响。这一步之后,对应牌之间仍然是隔三张。
因为有了这个隔三张的性质,接下来两步就很简单了。为啥要插到中间呢?因为插到中间,不会改变第一个和最后一个。而这两张正好是对应牌。我们具体看,比如 \(ABCDA'B'C'D'\),拿了之后就是 \(D…D'\)。这是最关键的。接下来,第一张就被藏起来,所以刘谦只需要保证最后一张被留下来即可。
接下来一步没啥用。我们已经说了,拿几张插到中间不改变尾部,所以只是障眼法。
最后就是扔了。我们分别来看剩下六张和五张的情况。
- 六张。连续拿七张下去之后,最后一张变成了倒数第二张(第五张)。手动模拟一下就发现,被删的顺序是 2,4,6,3,1。正好剩第五张。
- 五张。连续拿七张下去之后,最后一张到了最中间。手动模拟发现,正好顺序是 2,4,1,5,剩下第三张。
至此魔术成功。
推广
我们发现,关键就是“隔三张”的性质,“放中间”不改变尾部,以及最后的扔牌。
根据前两条,我们可以轻松加大牌数,只要在第四步多拿几张到中间即可。
而最后一个扔牌,其实就等价为排成一圈的约瑟夫问题。也就是隔一个枪毙一个。不管最后剩下几张,我们都可以通过第八步,反复拿牌,直到对应牌来到正确的位置。
关于怎么求出约瑟夫问题的解,可以采用模拟或者逆推的方法。这里可以网上搜索。
不过有意思的一点是,根据性别不同,最终的剩余牌数可能不同。但这也是有解法的。
设第八步翻牌 \(x\) 张,可能的剩余牌数是 \(n_i\),对应的约瑟夫问题的解在 \(a_i\)。这实际是一个解同余方程组的问题。也就是 \(x \equiv -a_i \pmod{n_i}\)。
像这样的问题,我们可以用扩展 CRT 求解。这样我们就可以满足九十多种性别的需求(Doge)。不过一个魔术的数据量,只需要凑一下就好。
你看懂了吗?快去朋友面前显摆一下吧!