哈喽~各位过年好哇!
相信大家应该都看了春晚刘谦表演的魔术吧,大家当时有没有跟着做成功呢,其实背后的原理很简单,现在我们来逐句分析,一起探索其中的原理吧!
首先,有四张牌假设为1,2,3,4。然后撕一半,假设撕完之后的牌后为:1,2,3,4,1`,2`,3`,4`。然后有数字的牌面向下,放在一起之后,编号依次令为:4`,3`,2`,1`,4,3,2,1。
这样准备工作就做好了。接着就进入正题。
Step①:根据名字的字数依次从最上面的牌放到最下方
其实,这一步与几个字完全没任何关系,假如你是两个字,在完成这一步之后,牌序列变为:2`,1`,4,3,2,1,4`,3`;假如你是三个字,在完成这一步之后,牌序列变为:1`,4,3,2,1,4`,3`,2`。如果你的名字是七个字,在完成这一步之后,牌序列变为:1,4`,3`,2`,1`,4,3,2。
好了,接下来关键的一步,拿起最上面的3张牌,放进剩余牌的中间任意位置。
我先解释一下,首先3张牌的目的是为了保证拿起这3张牌之后的最上面一张牌的编号与最底下的一张牌的编号一定是对应的。假如你的名字是2个字:2`,1`,4,3,2,1,4`,3`,拿起3张牌之后剩下的牌变为3,2,1,4`,3`,可以发现3与3`是对应的。假如你的名字是3个字:1`,4,3,2,1,4`,3`,2`,2与2`也是对应的关系。同理其他序列也是满足的。
其次,这3张牌插进剩下牌的中间任意位置是为了保证不影响首尾这两张牌的对应关系,因此这里只需要将这3张牌插进中间的任意位置即可,并不会影响首尾的两张牌。
好了,在按照上述要求完成第一步之后,假设牌序列为:2,1,1

文章详细解析春晚魔术中刘谦表演的扑克牌技巧,揭示其背后的数学原理——约瑟夫环问题,通过C语言代码模拟演示了牌序变化的过程。
最低0.47元/天 解锁文章
1361

被折叠的 条评论
为什么被折叠?



