刘谦春晚魔术的数学原理

刘谦春晚魔术的数学原理

在这里插入图片描述

文章目录

    • 前言
    • 魔术介绍
    • 魔术揭秘
      • STEP 1
      • STEP 2
      • STEP 3
      • STEP 4
      • STEP 5
      • STEP 6
      • STEP 7
    • 总结

前言

2024 春晚刘谦的第二个魔术很多人跟着一起做了,都觉得非常神奇。我也跟着操作了一遍,结果一眼就让我看出了背后的数学原理。下面给大家介绍一下。

魔术介绍

先来介绍一下这个魔术是怎么做的。

首先准备 4 张不同的扑克牌,将这 4 张牌从中间一分为二,将两部分叠在一起。然后根据你的名字有几个字,就几张牌一张一张地依此从顶部放到底部。

接着拿起顶部的 3 张牌,插到牌堆的中间(随机位置,下同)。然后将最上面的一张牌拿出放好——这是最后要拼接牌的其中一部分。

放好后,按南北方,认为自己是南方人的把最上面的 1 张插入到中间,认为自己是北方人的把最上面的 2 张插入到中间,不确定的把最上面的 3 张插入到中间。

然后按男女,男生丢掉最上面 1 张,女生丢掉最上面 2 张。

接着将 7 张牌一张一张地依此从顶部放到底部。

然后重复如下操作:将第一张牌放到最下面,将第二张牌(此时在顶部)扔掉。直到手中只剩一张牌。

此时见证奇迹的时刻到了,手中剩下的一张牌跟之前拿出的牌刚好能拼成一张完整的牌。

魔术揭秘

这个魔术没有什么高深的数学原理,就是同余理论。我们要证明的就是最终选出的两张牌一定 m o d 4 \mod 4 mod4 同余

我们来演示一下整个过程中牌型的变化。

STEP 1

为了便于演示,我们假设这 4 张牌为 A 1 , A 2 , A 3 , A 4 A_1, A_2, A_3, A_4 A1,A2,A3,A4。将其一分为二叠在一起后,整个牌堆为 A 1 , A 2 , A 3 , A 4 , A 1 , A 2 , A 3 , A 4 A_1, A_2, A_3, A_4, A_1, A_2, A_3, A_4 A1,A2,A3,A4,A1,A2,A3,A4。我们可以发现,此时配对的牌距离为 4 4 4

STEP 2

接着根据名字字数依此将顶部牌放到底部是一个环形栈操作,无论执行多少次,都不影响配对牌之间的距离。这一步其实是个故弄玄虚的障眼法,让人误以为各自名字字数不同,大家的牌型是不同的。如果你将牌堆视为一个”环“,就会发现其实这一步没有改变牌型结构。以我自己为例,我的名字只有 2 个字,因此将两张牌依此从牌顶移到牌底后,整个牌堆变为 A 3 , A 4 , A 1 , A 2 , A 3 , A 4 , A 1 , A 2 , A_3, A_4, A_1, A_2, A_3, A_4, A_1, A_2, A3,A4,A1,A2,A3,A4,A1,A2,

STEP 3

接下来的一步很关键,将顶部的 3 张牌插到牌堆的中间随机位置,然后拿走顶部的牌。这里必须是 3 张,因为只有这样,拿走的牌才能与牌底的牌配对。此时我们只需要关注能与拿走的牌配对的牌的位置就行了,其余牌的位置都无关紧要。因此我们可以将牌堆简化为 C , C , C , C , C , C , A C, C, C, C, C, C, A C,C,C,C,C,C,A,其中 A 是我们关注的要配对的牌。

STEP 4

有了上面的化简,接下来的按南北方插入就很容发现这部操作不影响牌型。因为是插入,我们关注的牌 A A A 始终在底部。因此这也是一步故弄玄虚的障眼法。

STEP 5

接着男生丢掉最上面 1 张,女生丢掉最上面 2 张。此时会出现两种情况:

男生 C , C , C , C , C , A 女生 C , C , C , C , A \text{男生} \quad C, C, C, C, C, A \\ \text{女生} \qquad C, C, C, C, A 男生C,C,C,C,C,A女生C,C,C,C,A

后面我们会证明这个差异其实不重要,可以抹平。

STEP 6

将 7 张牌一张一张地依此从顶部放到底部。这依然是个”环形栈“操作,不改变牌型结构,但步最重要的作用是将底部牌移到一个正确的位置,为下一步做准备。移动后的牌型为:

男生 C , C , C , C , A , C 女生 C , C , A , C , C \text{男生} \quad C, C, C, C, A, C \\ \text{女生} \qquad C, C, A, C, C 男生C,C,C,C,A,C女生C,C,A,C,C

STEP 7

重复如下操作:将第一张牌放到最下面,将第二张牌(此时在顶部)扔掉。直到手中只剩一张牌。

这个过程相当于从环上(设位置下标从 1 1 1 开始)不断丢掉 m o d 2 ≡ 0 \mod 2 \equiv 0 mod20 的牌。并且我们发现,男生只要做一次,牌型就会变为 C , C , A , C , C C, C, A, C, C C,C,A,C,C,跟女生的牌型一样。因此我们统一看女生的牌型变化即可

第一次 A , C , C , C 第二次 C , C , A 第三次 A , C 第四次 A \begin{align*} \text{第一次} \quad & A, C, C, C \\ \text{第二次} \quad & C, C, A \\ \text{第三次} \quad & A, C \\ \text{第四次} \quad & A \end{align*} 第一次第二次第三次第四次A,C,C,CC,C,AA,CA

大家可以发现,最终剩下的牌就是能够配对成功的牌。

总结

这个魔术就是个数学问题,中间有加入了一些故弄玄虚的障眼法。当我们摒弃掉这些迷惑人的手段,关注化简后问题的结构,一切就变得非常清晰了。魔术,也不过如此!

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

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

相关文章

C++ :内存管理 newdelete

目录 内存区域划分 C的动态内存的管理方式 new new的基本使用方法 【注意事项】 delete 【注意】 new和delete操作自定义类型 operator new 和 operator delete 【关于自定义类型new申请内存】 【原理】 【调用顺序】 【连续开辟空间问题】 malloc/free和…

用脑想问题还是用心驱动脑?

昨天回答了几个朋友的问题,我发现提问题的人很少,这让我想起之前讲的小妞子的故事,我问了她好几个月的同一句话:你有问题吗? 结果她很反感,嘿嘿。其实吧,我讲的很多东西都是实的,反而…

【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置 前言一、pip1、导出结果含有路径2、导出不带路径的 二、Conda1、导出requirements.txt2、导出yml 文件 三、第三方包:pipreqs(推荐)1、创建并激活conda环境2、安装requirements文件的pi…

【Tauri】(3):使用Tauri1.5版本,进行桌面应用开发,在windows上搭建环境,安装node,rust环境,可以打包成功,使用vite创建应用

1,视频地址: https://www.bilibili.com/video/BV1Ny421a7nA/ 【Tauri】(3):使用Tauri1.5版本,进行桌面应用开发,在windows上搭建环境,安装node,rust环境,可以…

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能

软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能 一、前言 以下软件教程以 佳易王茶社计时计费管理系统软件V18.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问:这个软…

qml写一个自适应登录框

1、前言 写一个可自由伸缩的登录框,,(横向上) 关键:给相关控件赋予 Layout.fillWidth: true 属性 即可。 2、代码 //main.qml import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQml 2.12 import QtQuic…

Ubuntu Desktop 自动获取 IP 地址

Ubuntu Desktop 自动获取 IP 地址 1. 左键单击网络图标 -> Edit Connections2. Network Connections3. Edit -> IPv4 SettingsReferences 1. 左键单击网络图标 -> Edit Connections 2. Network Connections ​​​ 3. Edit -> IPv4 Settings Automatic (DHCP) …

对应点已知时最优变换求解介绍以及SVD代码示例

一、空间上两组点希望找到一个刚性变换&#xff0c;在最小二乘的意义上最优地对齐两个点集&#xff0c;就是说找到一个旋转矩阵R和一个平移向量t。 二、SVD代码示例 C代码 #include <iostream> #include <pcl/point_cloud.h> #include <pcl/point_types.h>…

代码随想录算法训练营Day56|583. 两个字符串的删除操作、72. 编辑距离

目录 583. 两个字符串的删除操作 前言 思路 算法实现 法二 72. 编辑距离 前言 思路 算法实现 总结 583. 两个字符串的删除操作 题目链接 文章链接 前言 本题与上一题不同的子序列相比&#xff0c;变化就是两个字符串都可以进行删除操作了。 思路 利用动规五部曲进…

Java 基于springboot+vue的民宿管理系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

华为数通方向HCIP-DataCom H12-821题库(单选题:461-480)

第461题 以下关于路由策略特点的描述,错误的是哪一项? A、能够修改路由属性,但是不能改变网络流量经过的路径 B、能通过控制路由器的路由表规模,来节约系统资源 C、能通过控制路由的接收、发布和引入,以提高网络的安全性 D、能通过修改路由属性,对网络数据流量可以合理规…

【AI】安装ubuntu20.04教程(未完待续)

目录 1 制作ubuntu20.04系统盘1.1 下载ubuntu镜像1.2 使用ultraiso写入镜像 2 安装Ubuntu系统 1 制作ubuntu20.04系统盘 1.1 下载ubuntu镜像 在清华镜像站https://mirrors.tuna.tsinghua.edu.cn/下载ubuntu20.04镜像 路径为/ubuntu-releases/20.04/&#xff0c;下载ubuntu-20…