刘谦春晚魔术的数学原理

刘谦春晚魔术的数学原理

在这里插入图片描述

文章目录

    • 前言
    • 魔术介绍
    • 魔术揭秘
      • 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

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

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自己搭建的幻兽帕鲁服务器怎么一键配置游戏参数?可视化面板调整参数

单击面板内的【调整参数】按钮,即可在下方表格中开启编辑模式。找到“死亡惩罚”配置项,并将它的值修改为:无丢失。 点击【保存】按钮,此时将弹出气泡,提示你当前操作需要在游戏服务重启后才可生效(不会…

数据结构哈希表

这里个大家用数组来模拟哈希表 法一&#xff1a;拉链法 法二&#xff1a;开放寻址法 /** Project: 11_哈希表* File Created:Sunday, January 17th 2021, 2:11:23 pm* Author: Bug-Free* Problem:AcWing 840. 模拟散列表 拉链法*/ #include <cstring> #include <iostr…

AI:126-基于深度学习的人体情绪识别与分析

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解

一、冯诺依曼体系结构 1、概念 &#xff08;1&#xff09;什么是冯诺伊曼体系结构&#xff1f; 数学家冯诺伊曼于 1946 年提出存储程序原理&#xff0c;把程序本身当作数据来对待&#xff0c;程序和该程序处理的数据用同样的方式储存。 冯诺伊曼理论的要点是&#xff1a;计算…

复旦TravelPlanner让大语言模型挑战旅程规划

引言&#xff1a;探索语言智能的新疆界——旅行规划 在人工智能的发展历程中&#xff0c;规划一直是核心追求之一。然而&#xff0c;由于缺乏人类水平规划所需的多种认知基础&#xff0c;早期的AI代理主要集中在受限的环境中。随着大语言模型&#xff08;LLMs&#xff09;的出…

【设计模式】springboot3项目整合模板方法深入理解设计模式之模板方法(Template Method)

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

GPT4:你是故意的吧!

请问下面选项中哪个是中文&#xff1f; A.Chinese B.英文 这是一个关于语言识别的问题。我们需要分析并确定所给选项中哪个表示中文。 对于选项A.Chinese&#xff1a;这个词本身表示“中文”或“中国的”。在多种语境中&#xff0c;它经常被用来指代中国的语言&#xff0c;即中…

(三十五)大数据实战——Superset可视化平台搭建

前言 本节内容是关于Apache Superset可视化平台的搭建&#xff0c;Apache Superset是一个现代的数据探索和可视化平台 。它功能强大且十分易用&#xff0c;可对接各种数据源&#xff0c;包括很多现代的大数据分析引擎&#xff0c;拥有丰富的图表展示形式&#xff0c;并且支持自…

C++初阶:容器(Containers)list常用接口详解

介绍完了vector类的相关内容后&#xff0c;接下来进入新的篇章&#xff0c;容器list介绍&#xff1a; 文章目录 1.list的初步介绍2.list的定义&#xff08;constructor&#xff09;3.list迭代器&#xff08; iterator &#xff09;4.string的三种遍历4.1迭代器4.2范围for循环 5…

【Vue】computed与watch

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue⛺️稳重求进&#xff0c;晒太阳 计算属性 概念&#xff1a;基于现有的数据&#xff0c;计算出来新的属性&#xff0c;依赖的数据变化&#xff0c;自动重新计算 语法&#xff1a; 声明…

C++,stl,map/multimap详解

目录 1.map的构造和赋值 2.map的大小和交换 3.map的插入和删除 4.map的查找和统计 5.map的排序 1.map的构造和赋值 #include<bits/stdc.h> using namespace std;void print(map<int,int> &mp) {for(map<int,int>::iterator it mp.begin(); it ! m…

python安装cv2失败

问题:安装cv2包失败 解决方法&#xff1a; pip install opencv-python或在Anaconda中conda install opencv-python

原神4.0.1单机版【开局满级】纯单机,无限原石材料

版本介绍 版本4.0.1稳定版【过分追新并不稳&#xff0c;合理才完美】 独家原神&#xff0c;游戏内自带剧情任务&#xff0c;完美仿官&#xff0c;一比一完美复制&#xff01; 已经拥有完美剧情、任务、副本、卡池、深渊、全物品、和全部功能和皮肤。 修改注意 如果要进行不…

Agile Initiative, Epic, and Story/Task

Stories, also called “user stories,” are short requirements or requests written from the perspective of an end user. stories are something the team can commit to finish within a one- or two-week sprint.Epics are large bodies of work that can be broken do…

《软件方法》强化自测题-杂项题目解析01

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 杂项&#xff08;1&#xff09; 3 [ 单选题 ] 《软件方法》第1章“建模和UML”开头所引用的歌曲&#xff0c;其词曲作者还写过下列歌曲中的&#xff1a; A) 爱江山更爱美人&#…

linux信号机制[一]

目录 信号量 时序问题 原子性 什么是信号 信号如何产生 引入 信号的处理方法 常见信号 如何理解组合键变成信号呢&#xff1f; 如何理解信号被进程保存以及信号发送的本质&#xff1f; 为什么要有信号 信号怎么用&#xff1f; 样例代码 core文件有什么用呢&#…

【Java程序设计】【C00268】基于Springboot的CSGO赛事管理系统(有论文)

基于Springboot的CSGO赛事管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的赛事管理系统 本系统分为系统功能模块、管理员功能模块、参赛战队功能模块以及合作方功能模块。 系统功能模块&#xff1a;在系…

AMD FPGA设计优化宝典笔记(3)控制集

控制集 1 控制集的个数要求 控制集 control set&#xff1a;因为 7 系列 FPGA&#xff0c;一个 slice 只能有一种控制集&#xff08;触发器的使用方式 比如有复位/有时钟使能等等&#xff09;&#xff0c;多了就会分布到不同的 slice 里&#xff0c; 所以代码尽量统一触发器的…

寒假作业——2/13

作业1 作业2 cp cp 当前的文件位置 复制到哪个位置 格式 : cp 路径/文件 路径/目录名/重新命名的目录名 mv mv 当前的文件位置 复制到哪个位置 格式 : mv 路径/文件 路径/目录名/重新命名的目录名 也可进行重命名操作 find 查找文件 find 目标路径 -name 文件名 后续…

C++ matplotlib 画图 Linux

Matplotlib-cpp画图 命令行下载matplotlibcpp git clone https://github.com/lava/matplotlib-cpp将matplotlibcpp.h移动到自己所用的工程 CMakeList.txt文件如下所示 cmake_minimum_required(VERSION 3.0.2) project(huatu)set(CMAKE_CXX_STANDARD 11)file(GLOB_RECURSE P…