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.mzph.cn/news/684353.shtml

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

相关文章

春晚后台撒贝宁意外“踩高跷”,尼格买提内增高秘密笑翻全场。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 龙年春晚无疑是观众们热议的焦点!除了尼格买提表演…

Spring Task定时任务

目录 1、介绍 2、cron表达式 2.1、在线生成器 2.2、通配符 3、代码示例 3.1、使用步骤 3.2、 代码开发 3.3、测试 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发…

windows vs 自己编译源码 leveldb 然后使用自己编译的文件

1 准备源码文件 1.1 第一种方法 git下载源码 vs项目中git leveldb源码和git third_party googletest-CSDN博客 1.2 第二种方法 手动下载 然后把第三方的源码下载 复制到 third_party 对应的文件夹中 没有文件夹 third_party -> powershell mkdir third_party 2 编译lev…

数据库第二次实验

目录 1 实验内容 2 SQL代码及运行截图 2.1 创建表并插入数据 2.1.1 创建表 2.1.2 插入数据 2.1.3 运行截图 2.2 修改表 2.2.1 SQL代码 2.2.2 运行截图 2.3 删除操作 2.3.1 SQL代码 2.3.2 运行截图 2.4 数据库的备份 2.5 数据库的恢复 1 实验内容 实验目的&#…

SG3225EEN晶体振荡器规格书

SG3225EEN 晶振是EPSON/爱普生的一款额定频率25 MHz至500 MHz的石英晶体振荡器,6脚贴片,LV-PECL输出,3225封装常规有源晶振,具有小尺寸,轻薄型,高稳定性,低相位抖动,低电源电压&…

零基础怎么学编程,免费版中文编程工具下载及构件用法教程

零基础怎么学编程,免费版中文编程工具下载及构件用法教程 一、前言 今天给大家分享的中文编程开发语言工具资料如下: 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程工具及实例源码文件下载可以点击最下方官网…

如何给最小化安装的CentOS主机装个远程桌面?

正文共:888 字 18 图,预估阅读时间:1 分钟 前面我们领微软云Azure的免费主机时(白嫖党618福利!来Azure领200美刀!外加云主机免费用一年!),发现“有资格免费试用服务”的主…

飞天使-k8s知识点19-kubernetes实操4-资源调度 标签和选择器:Label与Selector的使用-版本回退

文章目录 添加label资源调度 Deployment:创建与配置文件解析rs pod deploy 的关联信息展示Deployment:滚动更新Deployment:回滚回退版本实际操作 添加label [rootkubeadm-master1 test]# kubectl get pod NAME …

鸿蒙开发系列教程(二十一)--轮播处理

轮播处理 Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示 在自身尺寸属性未被设置时,会自动根据子组件的大小设置自身的尺寸 参数: 通过loop属性控制是否循环播放,该属性默认值为tr…

Recovering a Small String-Codeforces

题目链接&#xff1a;Problem - A - Codeforces 解题思路&#xff1a;分三种情况 第一个字母a,最后一个字母z 前两个字母a 最后两个字母z 其他根据大小算出剩下的字母 下面是c代码&#xff1a; #include<iostream> using namespace std; int main() {int t, n;cin…

算法刷题:四数之和

四数之和 .题目链接题目详情算法原理我的答案 . 题目链接 四数之和 题目详情 算法原理 题目要求的是abctarget 这道题我们可以参考一下三数之和 三数之和中,我们固定的是其中一个数,四数之和中,我们则需要固定两个数 即 abctarget的时候固定d,找到abctarget-d 在求abctarget…

学法减分线上考试答案查找?分享九个搜题直接出答案的软件 #媒体#媒体#笔记

在信息爆炸的时代&#xff0c;选择适合自己的学习辅助工具和资料&#xff0c;能够提供更高效、便捷和多样化的学习方式。 1.试题猪 这是个微信公众号 一款聚合了好多款搜题软件的公众号&#xff0c;对话框可以直接搜题&#xff0c;题库好像挺多的&#xff0c;一次性能出好多…

Linux系统入门

目录 探索命令行 学习使用 man 寻找帮助 控制字符 统计代码行数 统计磁盘使用情况 在Linux下编写 Hello World 程序 使用重定向 使用Makefile管理工程 Unix哲学 探索命令行 Linux命令行中的命令使用格式都是相同的: 命令名称 参数1 参数2 参数3 ... 参数之间用任意…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核内存管理-动态内存

目录 一、动态内存运行机制二、动态内存开发流程三、动态内存使用说明四、动态内存核心算法五、动态内存接口六、代码分析&#xff08;待续...&#xff09;坚持就有收获 一、动态内存运行机制 动态内存管理&#xff0c;即在内存资源充足的情况下&#xff0c;根据用户需求&…

【解决(几乎)任何机器学习问题】:超参数优化篇(超详细)

这篇文章相当长&#xff0c;您可以添加至收藏夹&#xff0c;以便在后续有空时候悠闲地阅读。 有了优秀的模型&#xff0c;就有了优化超参数以获得最佳得分模型的难题。那么&#xff0c;什么是超参数优化呢&#xff1f;假设您的机器学习项⽬有⼀个简单的流程。有⼀个数据集&…

【Rust】使用Rust实现一个简单的shell

一、Rust Rust是一门系统编程语言&#xff0c;由Mozilla开发并开源&#xff0c;专注于安全、速度和并发性。它的主要目标是解决传统系统编程语言&#xff08;如C和C&#xff09;中常见的内存安全和并发问题&#xff0c;同时保持高性能和底层控制能力。 Rust的特点包括&#x…

java8-使用流-2

筛选各异的元素 流还支持一个叫作aistinct的方法&#xff0c;它会返回一个元素各异(根据流所生成元素的hashcode和eguals方法实现)的流。例如&#xff0c;以下代码会筛选出列表中所有的偶数&#xff0c;并确保没有重复。图5-2直观地显示了这个过程。 List<Integer>number…

Panalog 日志审计系统 sessiptbl.php 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 sessiptbl.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 影响范围 version <= MARS r10p1Free 0x04 复现…

勒索病毒最新变种.faust勒索病毒来袭,如何恢复受感染的数据?

引言&#xff1a; 随着我们进入数字化时代&#xff0c;数据的重要性变得愈发显著&#xff0c;而网络安全威胁也日益增加。.faust勒索病毒是其中一种备受恶意分子钟爱的危险工具&#xff0c;它通过加密用户文件并勒索高额赎金来对个人和组织发起攻击。本文将深入探讨.faust勒索…

thinkphp+vue企业产品展示网站f7enu

本文首先介绍了企业产品展示网站管理技术的发展背景与发展现状&#xff0c;然后遵循软件常规开发流程&#xff0c;首先针对系统选取适用的语言和开发平台&#xff0c;根据需求分析制定模块并设计数据库结构&#xff0c;再根据系统总体功能模块的设计绘制系统的功能模块图&#…