2024春节联欢晚会刘谦魔术分析

春晚已经越来越拉胯了,看着节目单没一个能打的,本来想说:办不起,就别办呗。

没想到第二天刘谦的魔术以一种很奇特的姿势火起来了,干脆蹭个热度,分析下魔术的原理。

魔术1

这个不算什么新奇的节目,刘谦其实在很久以前就讲解过了。关键其实就是落汗,在扑克上面做标记,洗牌的人是非常清楚每一张牌的位置的,所以想洗出什么样的牌都可以。

https://www.bilibili.com/video/BV1aV411m79Q?vd_source=76cc3e139f8bd1d82fc69fc16c5b1665

魔术2

这种每个人都能做到的,魔术设计的互动性也很强,通过将步骤复杂化,让人感觉非常神奇。作为一名攻城狮,第一反应就是——这肯定是个算法。

1、对半撕开4张不一样的牌,按照顺序叠起牌堆。
2、根据名字文字数量N,按照顺序依次从牌堆顶部取牌,放到牌堆底部,循环N次。
3、将牌堆顶部三张牌插入牌堆中间任意位置,提取牌堆顶部一张牌作为底牌。
4、根据南北方人在牌堆顶部提取1/2/3张牌,插入牌堆中间。
5、根据性别丢弃牌堆顶部1/2张牌,按照顺序依次从牌堆顶部取牌,放到牌堆底部,循环7次。
6、从牌堆顶部取出1张牌放到牌堆底部,从牌堆顶部丢弃1张牌,循环至剩下最后一张牌。

一共为6步,我们逐步分析。

1、对半撕开4张不一样的牌,按照顺序叠起牌堆。

这是个初始状态,让牌的排列形成ABCDABCD。

2、根据名字文字数量N,按照顺序依次从牌堆顶部取牌,放到牌堆底部,循环N次。

这种无论N是多少都不影响结果的操作,不会改变ABCDABCD的牌型,本质上就是个环形队列在转。

3、将牌堆顶部三张牌插入牌堆中间任意位置,提取牌堆顶部一张牌作为底牌。

将最顶上的ABC牌插入牌堆中间,有两个作用:一个是让D变成最顶上的牌被取出来作为底牌。另一个是让最底下的D成为目标牌。

这时候就可以简化模型,将ABC标记为普通牌,D标记为目标牌。这样无论从顶部提取的三张牌插到哪个位置,都能保证牌型为Common/Common/Common/Common/Common/Common/Object。


4、根据南北方人在牌堆顶部提取1/2/3张牌,插入牌堆中间。

这一步也是没有改变牌型的,所以做不做都一样。牌型依然为Common/Common/Common/Common/Common/Common/Object。

5、根据性别丢弃牌堆顶部1/2张牌。按照顺序依次从牌堆顶部取牌,放到牌堆底部,循环7次。

这步是最巧妙的,无论是哪种情况,都可以将目标牌移动到安全位置,让目标牌保留到最后。

丢弃1张牌的情况

先看丢弃1张牌的情况,经过提取底牌,丢弃1张牌后剩余6张,牌型为Common/Common/Common/Common/Common/Object。

从牌堆顶部取牌,放到牌堆底部。由于现在有6张牌,循环6的倍数次相当于保持不变。所以循环7次相当于执行7%6=1次。牌型变为下图所示,这里运用了数学上的约瑟夫问题n=牌的总数6,m=2最简单的情况,人的直觉不太容易发觉。

此时目标牌已经被转移到6张牌里面的第5位,那就是安全位,循环多次后最后一张牌就是安全位里面的目标牌。

丢弃2张牌的情况

经过提取底牌,丢弃1张牌后剩余5张,牌型为Common/Common/Common/Common/Object。

从牌堆顶部取牌,放到牌堆底部。同理,循环7次相当于执行7%5=2次。

此时目标牌已经被转移到5张牌里面的第3位,那就是安全位。


6、从牌堆顶部取出1张牌放到牌堆底部,从牌堆顶部丢弃1张牌,循环至剩下最后一张牌。

这里就是看为啥第5步目标牌的位置是安全位了,还是分两种情况来看。

丢弃1张牌的情况

丢弃2张牌的情况

可以看到,丢弃2张牌的情况的第一轮就相当于丢弃1张牌的情况的第二轮了。

所以无论是那种情况,只要做对了以上几步,保留下目标牌,就能跟底牌进行完美合并。这个魔术设计不得不说是相当的巧妙。

尼格买提热合曼的失误

这是整个春晚最热议的话题了,成了整场魔术的画龙点睛之笔,整个春晚其他节目都不重要了。

他在执行第4步的时候提取了牌堆顶部的2张牌,但没有插入中间来保持Common/Common/Common/Common/Common/Common/Object的牌型,而是放到了最底部,导致牌型变为Common/Common/Common/Common/Object/Common/Common,目标牌由于不在安全位,导致被丢弃掉。

无论这个是真实的失误也好,还是特意安排,都给这几年半死不活的春晚带来了新的高峰,让我们再感受一次小尼的尴尬。

新的一年,祝大家龙行龘龘,前程朤朤!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/258151.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode刷题--贪心算法

七. 贪心算法 文章目录 七. 贪心算法1. 605 种花问题2. 121 买卖股票的最佳时机3. 561 数组拆分4. 455 分发饼干5. 575 分糖果6. 135 分发糖果7. 409 最长回文串8. 621 任务调度器9. 179 最大数10. 56 合并区间11. 57 插入区间13. 452 用最少数量的箭引爆气球14. 435 无重叠区间…

Spring Boot3整合Redis

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 1.导依赖 2.配置连接信息以及连接池参数 3.配置序列化方式 4.编写测试 前置条件 已经初始化好一个spr…

STM32——OLED菜单(二级菜单)

文章目录 一.补充二. 二级菜单代码 简介:首先在我的51 I2C里面有OLED详细讲解,本期代码从51OLED基础上移植过来的,可以先看完那篇文章,在看这个,然后按键我是用的定时器扫描不会堵塞程序,可以翻开我的文章有单独的定时…

Vulnhub靶机:DC6

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:DC6(10.0.2.59) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/dc-6,315/…

《MySQL 简易速速上手小册》第9章:高级 MySQL 特性和技巧(2024 最新版)

文章目录 9.1 使用存储过程和触发器9.1.1 基础知识9.1.2 重点案例:使用 Python 调用存储过程实现用户注册9.1.3 拓展案例 1:利用触发器自动记录数据更改历史9.1.4 拓展案例 2:使用 Python 和触发器实现数据完整性检查 9.2 管理和查询 JSON 数…

[网鼎杯 2020 朱雀组]phpweb

抓包发现两个参数,结合报文返回的warning猜测两个参数一个传函数名,另一个传函数参数 尝试直接system(ls /),发现被过滤了 file_get_contents获取index.php的源码,发现可以反序列化实现RCE 这里复现的时候不知道为什么显示不全…

力扣例题----二叉树

文章目录 1. 100.相同的树2. 572. 另一颗树的子树3. 266.翻转二叉树4. LCR 175.计算二叉树的深度5. 110.平衡二叉树6. 101. 对称二叉树7. 牛客题目:KY11 二叉树遍历8. 102.二叉树的层序遍历9. 236.二叉树的最近公共祖先10. 105.根据前序和中序构造一棵二叉树11. 106…

python 人脸检测器

import cv2# 加载人脸检测器 关键文件 haarcascade_frontalface_default.xml face_cascade cv2.CascadeClassifier(haarcascade_frontalface_default.xml)# 读取图像 分析图片 ren4.png image cv2.imread(ren4.png) gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 进行人脸…

COM初体验——新建文档并写入内容。

我想在程序里和Word交互。老师跟我说不要学COM,因为它已经过时了。但是我不想再把代码移植到C#上面,然后用VSTO——已经用了std::unordered_set!因为我使用了Copilot,结合我的思考,写了下面的代码: #impor…

17.JS中的object、map和weakMap

1.object和map的区别 2.weakMap和map的区别 (1)Map本质上就是键值对的集合,但是普通的Object中的键值对中的键只能是字符串。而ES6提供的Map数据结构类似于对象,但是它的键不限制范围,可以是任意类型,是一…

【C++】友元、内部类和匿名对象

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 1. 友元 1.1 友元函数 1.2 友元类 2. 内部类 2.1 成员内部类 2.2 局部内部类 3. 匿名对象 3.1 基本概念 3.1 隐式转换 1…

【Spring原理进阶】SpringMVC调用链+JSP模板应用讲解

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:底层原理高级进阶》 &#x1f680…

机器学习入门--循环神经网络原理与实践

循环神经网络 循环神经网络(RNN)是一种在序列数据上表现出色的人工神经网络。相比于传统前馈神经网络,RNN更加适合处理时间序列数据,如音频信号、自然语言和股票价格等。本文将介绍RNN的基本数学原理、使用PyTorch和Scikit-Learn…

PLC_博图系列☞FBD

PLC_博图系列☞FBD 文章目录 PLC_博图系列☞FBD背景介绍FBD优势局限性 FBD 元素 关键字: PLC、 西门子、 博图、 Siemens 、 FBD 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的PLC编程人员,也不懂电路…

深度学习之梯度下降算法

梯度下降算法 梯度下降算法数学公式结果 梯度下降算法存在的问题随机梯度下降算法 梯度下降算法 数学公式 这里案例是用梯度下降算法,来计算 y w * x 先计算出梯度,再进行梯度的更新 import numpy as np import matplotlib.pyplot as pltx_data [1.0,…

心理辅导|高校心理教育辅导系统|基于Springboot的高校心理教育辅导系统设计与实现(源码+数据库+文档)

高校心理教育辅导系统目录 目录 基于Springboot的高校心理教育辅导系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、学生功能模块的实现 (1)学生登录界面 (2)留言反馈界面 (3)试卷列表界…

2.7日学习打卡----初学RabbitMQ(二)

2.7日学习打卡 目录: 2.7日学习打卡一. RabbitMQ 简单模式![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/42009c68e078440797c3183ffda6955d.png)生产者代码实现消费者代码实现 二. RabbitMQ 工作队列模式生产者代码实现消费者代码实现 三. RabbitMQ 发…

【天衍系列 04】深入理解Flink的ElasticsearchSink组件:实时数据流如何无缝地流向Elasticsearch

文章目录 01 Elasticsearch Sink 基础概念02 Elasticsearch Sink 工作原理03 Elasticsearch Sink 核心组件04 Elasticsearch Sink 配置参数05 Elasticsearch Sink 依赖管理06 Elasticsearch Sink 初阶实战07 Elasticsearch Sink 进阶实战7.1 包结构 & 项目配置项目配置appl…

《杨绛传:生活不易,保持优雅》读书摘录

目录 书简介 作者成就 书中内容摘录 良好的家世背景,书香门第为求学打基础 求学相关 念大学 清华研究生 自费英国留学 法国留学自学文学 战乱时期回国 当校长 当小学老师 创造话剧 支持钱锺书写《围城》 出任震旦女子文理学院的教授 接受清华大学的…

【AIGC】Stable Diffusion的ControlNet参数入门

Stable Diffusion 中的 ControlNet 是一种用于控制图像生成过程的技术,它可以指导模型生成特定风格、内容或属性的图像。下面是关于 ControlNet 的界面参数的详细解释: 低显存模式 是一种在深度学习任务中用于处理显存受限设备的技术。在这种模式下&am…