首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏java架构计划训练营

    春晚魔术java代码揭秘

    1,必须相同否则会有问题 //魔术步骤1:你的名字几个字 就往下排几张 ok,我就写2个字吧,那就是把这个数组位置替换2个位置,第一个拿走的位置 就是下标1,第二个拿走的位置就是下标0 //魔术步骤2:前面三张扑克牌,插入到中间的任意位置,我就将除第一个 最后一个随机打乱 String[] extracted = Arrays.copyOfRange(poker2, 0 ; //todo 经过这一个步骤,聪明的你又看出来问题了,无论怎么操作,只要插入到非第一张和最后一张的位置, // 第一张和最后一张永远是一样的 // 魔术步骤 4:男生丢掉1张,女生丢掉2张 ,这边无所谓的,保留6张就行。 //魔术步骤5:见证奇迹的时刻 ,7个字这边就定义7次循环了 // 循环7次,每次将最后一个元素移动到第一个位置,其他元素前移 for (int i = 0; i < 7

    32010编辑于 2024-02-12
  • 来自专栏五分钟学算法

    牛逼!火速肝了春晚魔术的模拟程序。

    昨晚春晚上的两个魔术表演的都非常 nice,其中第二个魔术就是非常经典的约瑟夫环问题! 先来讲一下什么是约瑟夫环问题。 比如牌是8张,编号分别是1 2 3 4 5 6 7 8 第一轮会把2 4 6 8扔掉,剩下1 3 5 7按顺序放在后面,又退化成了4张牌的情况。 把1放到后面,把2扔掉 把3放到后面,把4扔掉 把5放到后面,把6扔掉 现在剩下的编号序列是7 8 9 10 11 1 3 5 这又是8张牌的情况了!最后一定剩下的是现在牌堆顶的7! 魔术的流程是这样的: 1、4张牌对折后撕开,就是8张,叠放在一起就是ABCDABCD ❗️注意ABCD四个数字是完全等价的 2、(无关步骤)根据名字字数,把顶上的牌放到下面,但怎么放都不会改变循环序列的相对位置 6、(关键步骤)男生拿掉1张,女生拿掉2张。也就是男生剩下6张,女生剩下5张。 分别是xxxxxB和xxxxB。

    29910编辑于 2024-02-26
  • 来自专栏学习道路指南

    揭秘 2024 春晚魔术——代码还原

    前言 随着 2024 年春晚的落幕,魔术表演再次成为了人们热议的焦点。 从 2009 年到 2019 年, 10 年间 5 次亮相央视春晚舞台,一句“见证奇迹的时刻”成为的招牌台词。 但从 2019 年在春晚表演《魔壶》之后,好像销声匿迹了,连续 5 年都与春晚无缘。 2024 年 2 月 9 日晚,终于带着最新魔术节目《守岁共此时》再次亮相春晚,神乎其技的表现让观众直呼不可思议。 今天,我将尝试从编程的角度来揭秘魔术,通过代码实现来解析其背后的原理。 一、魔术大概流程 观众们按照一定的顺序撕开扑克牌,通过名字字数、男女性别、南方北方等关键词进行排序筛选,最终丢弃了大部分的碎牌。而剩下的两张碎牌,竟然神奇地凑成了一张完整的牌。 bottom = bottom(arr, 1); arr = pop(bottom); } return arr; } } 结果: 四、总结 老师的魔术本质其实就是约瑟夫环的问题

    62810编辑于 2024-02-17
  • 来自专栏程序员小藕

    春晚魔术的模拟程序

    在大年三十的春晚上,呈现的两个魔术表演真是令人叹为观止。尤其是那第二个魔术,他以高超的技艺演绎了经典的约瑟夫环问题,让人不禁感叹他的魔术才华与幽默风格相得益彰! 什么是约瑟夫环问题? 2、稍微复杂一点的情况,牌的张数是2的n次方 比如有8张牌,编号分别是1、2、3、4、5、6、7、8。 第一轮会把2、4、6、8扔掉,剩下1、3、5、7按顺序放在后面,又退化成了4张牌的情况。 把1放到后面,把2扔掉,把3放到后面,把4扔掉,把5放到后面,把6扔掉,现在剩下的编号序列是7、8、9、10、11、1、3、5,这又是8张牌的情况!最后一定剩下的是现在牌堆顶的7! 魔术的流程 4张牌对折后撕开,就是8张,叠放在一起就是ABCDABCD。注意,ABCD四个数字是完全等价的。 根据名字字数,把顶上的牌放到下面,但怎么放都不会改变循环序列的相对位置。 当牌数为6时(男生),剩下的就是第5张牌;当牌数为5时(女生),剩下的就是第3张牌。Bingo!就是第4步拿掉的那张牌!

    41110编辑于 2024-02-20
  • 来自专栏MatheMagician

    对称与魔术初步(五)——经典魔术《幻境》

    今天我们来看一个近10年前的经典,相信这个魔术表演能勾起不少人童年的回忆。 春晚表演《幻境》 先回顾一下这经典之作吧! 视频1 春晚《幻镜》 //v.qq.com/txp/iframe/player.html? 其中我们要讲解的对称相关的部分,大概从6:35到8:25左右结束,其余部分也非常精彩,也可以全部看完,堪称经典。 忘了是什么时候从哪个大师那里学到(也许就是吧),一个完整的魔术节目一定还要有一个贯穿始终的主题。当然,只是做一个手法展示,道具展销的除外。 其它部分不多说了,主要讲下名字在镜子中变得正常而手上真的字变反的这个部分。

    77320编辑于 2022-03-17
  • 来自专栏Base_CDNKevin

    【C语言】解析春晚魔术《守岁共此时》

    今年的春晚上表演了魔术《守岁共此时》,台上台下积极互动(尤其是小尼),十分的有趣。老师的魔术不仅仅是他的高超手法,还有这背后的严谨逻辑,下面我们来用C语言来解析魔术吧。 endcard = cardmove[i]; } } printf("剩下的第一张为%d\n", endcard); 输出最后剩下的一张牌的数字,魔术结束

    21710编辑于 2024-03-19
  • 来自专栏MatheMagician

    魔术的定义、评价与分类(四)——看解析魔术的结构层次

    上一讲我们刚讲完魔术的结构层次和对应的评价策略,详情请戳: 魔术的定义、评价与分类(三)——魔术的内部结构层次和专业评价 魔术的定义、评价与分类(二)——商业评价 魔术的定义、评价与分类(一)——定义 当时留了个尾巴,给出了在国家魔术人才培养计划中的结构解析的板书。 图1 魔术课的结构拆解板书 https://www.bilibili.com/video/BV12g4y1c7sp/? 当然本人还有课堂里上他课的真魔术大师,应该本质上都优先是表演大师,然后才基于这个目标去研究原理。而我是倒过来的,原理太迷人了,为了把原理搞透,推广出去,我不得不补齐我的表演短板。 4. 下一篇,我们进入魔术理论最后一个话题,魔术的分类。 我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。

    31410编辑于 2025-11-24
  • 来自专栏我在本科期间写的文章

    【CC++】2024春晚春晚魔术步骤模拟+暴力破解

    魔 术 步 骤 首先,准备4张扑克牌,跟随魔术步骤,来一起“见证奇迹”。 并取出牌堆顶的牌 放置在一旁 步骤 4 取出牌堆顶的若干张牌 插入牌堆中间 此处选择的牌数为 南方人取1张,北方人取2张 若不确定是南方人还是北方人取3张 步骤 5 男生扔掉牌堆顶1张 女生扔掉牌堆顶2张 步骤 6 1 : 2; deck.erase(deck.begin(), deck.begin() + removeCount); } // 步骤 6: 循环移动牌 void cycleCards(vector "执行步骤5,按性别删除卡牌: "; printDeck(deck); cycleCards(deck, "见证奇迹的时刻"); // 循环移动牌 cout << "执行步骤6, 抽取第一张卡牌藏在屁股后面: 1 2 3 4 1 2 3 藏起来的卡牌是: 4 执行步骤4,判断南北方人: 3 4 1 2 3 1 2 执行步骤5,按性别删除卡牌: 4 1 2 3 1 2 执行步骤6

    52610编辑于 2024-03-20
  • 来自专栏前端Q

    春晚魔术揭秘:约瑟夫环的数学魅力,JS实现下!

    今年春晚魔术堪称惊艳全场,那么他这个魔术实现的原理是什么呢?今天,就让咱们使用 JS 是实现这个魔术。 在第一轮中,我们会移除所有偶数编号的牌(2、4、6、8),剩余1、3、5、7。这些剩下的牌按顺序放到底部,问题就变成了4张牌的情况。 也就是男生剩下6张,女生剩下5张。分别是xxxxxB和xxxxB。 循环7次,把最顶上的放到最底下,男生和女生分别会是xxxxBx和xxBxx。 最后执行约瑟夫环过程!操作到最后只剩下1张。 当牌数为6时(男生),剩下的就是第5张牌;当牌数为5时(女生),剩下的就是第3张牌。Bingo!就是第4步拿掉的那张牌! ${arr.join('')}`); } console.log(`---\n最终结果:剩下的牌为${arr[0]},步骤4中留下来的牌也是${restCard}`); 通过上述代码,我们可以模拟春晚魔术的整个过程

    46710编辑于 2024-02-21
  • 来自专栏MatheMagician

    对称、群论与魔术(十一)——魔术《百变箭头》等和系列总结

    于是数学魔术师的工作就是挖掘其中的数学原理,并把它变成魔术《幻境》 你一定以为流程这么复杂,这么硬核的数学魔术没有什么实际的魔术价值,登不上正统的魔术舞台。 那你还真错了,在春晚上爆红的作品《幻镜》,有一个小步骤,我在上个系列的《对称与魔术初步(五)——经典魔术《幻境》》曾用一般语言详细讲解过,其基本原理用群论语言描述下来就是这个样子的,大家可以先回顾一下表演 : 视频2 春晚《幻镜》(大概从6:35到8:25左右) //v.qq.com/txp/iframe/player.html? 镜面反射(关于为什么镜面反射等价于左右对称,我在《对称与魔术初步(五)——经典魔术《幻境》》里已经讲解过,后续还会有数学专题再聊)后,变成f2 * f1 = R,即观众在镜子里看到的是一个旋转了180

    84230编辑于 2022-09-04
  • 来自专栏MatheMagician

    《猫和老鼠》里的魔术艺术(四)——夸张与对比

    6 5:45~5:55 Jerry又出现了 image.png 这个场景的意思表达在这一集里出现了很多次,即Jerry总是以不可思议的方式逃跑并出现在令Tom震惊的地方。 我现在还深刻记得很久以前在《越策越开心》节目里变钞票进橙子魔术的时候,把指套插入橙子以后深深地吸了一口自己的大拇指,还有在需要换托的时候夸张地用手指点了口水当胶水去封信封的画面,以及常见的夸张的表情 所以啊,魔术再简单,一般观众也没空去记得那些流程和秘密的,不信你问,有多少人记得09年春晚用橡皮筋干啥了,怎么变的?关键是你能演好,留下深刻印象,那在这个观众心里,这个魔术就是你的。 哪怕仅仅是来当个托,选个牌,都是好的,这样使得魔术还直接发生在魔术师和观众之间,这种低成本的有带入感的魔术效果。何乐而不为呢? 有一个经典的案例,你一看应该就明白了:的经典流程,消失的水。 大约16年前我还在读小学的时候,参加魔星耀三湘活动来了我当时就读的长沙长塘里小学,他当着上千的孩子在操场上表演了消失的水。

    1.2K20发布于 2020-05-14
  • 来自专栏MatheMagician

    知道魔术的秘密很了不起吗?

    新时代的魔术世界 这是魔术最好的时代,也是魔术最坏的时代,而且都是基于同一个原因: 信息的爆炸式传播。 指望着破解或学到几个魔术的秘密就成魔术师?哪有那么好的事呢? 如何和魔术秘密舒服地共处? 破解魔术秘密,一点不厉害,那是一群观众去对抗一个魔术师,研发出魔术才叫真正厉害。 这让我想起很早以前金牌魔术团节目中汪涵在一个选手表演完后,就是这么说的,后来对那个当众说出魔术秘密的人的说: 如果一个人能够当众揭秘魔术,那他没有资格当魔术师。 而魔术表演者呢?你当场揭穿他,如果是爱好者,反正不靠这个吃饭,尴尬一下就过去了;魔术师的话,你就更不可能影响他,你的自娱自乐,他的挣钱要紧。 你看春晚魔术每年揭秘影响到在圈内外的认同了吗? 谦让人一见就想起见证奇迹,大卫从头到脚都是一股坚定而神秘的感觉,这些风格的塑造,才是他们安身立命之本,他们从来没有要当魔法师,这超出边界了,但是是以魔术师的身份在扮演他。

    51910编辑于 2022-12-09
  • 来自专栏算法channel

    IPython 常用的6魔术命令

    魔术命令包括两种方法:行魔术命令(line magics):以 % 为前缀,在单个输入行上运行;单元格魔术命令(cell magics):以 %% 为前缀,在多个输入行上运行。 下面列举 IPython 魔术命令提供的一些有用功能: 1 %lsmagic:找出全部命令 如果你只记得一个魔术命令,那必须得是这一个。执行 %lsmagic 命令将提供所有可用魔术命令的列表: ? 2 %debug:交互式 debug 这可能是我最常使用的魔术命令了。 问题显而易见:我们把'6'作为字符串输入到函数中了! 这对于更复杂的函数非常有用。 3 %store:在 notebook 之间传递变量 这个命令也很酷。 6 %%writefile:向文件写入单元格内容 在 notebook 中写复杂函数或类,且想将其保存到专属文件中时,该魔法命令非常有用。

    1.1K30发布于 2019-12-23
  • 来自专栏MatheMagician

    加加减减的奥秘——从数学到魔术的思考(二)

    我们这一期会详细讲解设计过程,尤其是对数学原理的充分利用以及巧妙的魔术改造。 数学到魔术的模型: 注意看前文的那个公式,在魔术里,a往往是预先准备好的setting,b是观众的随机选择,而结果的a则是魔术效果,可以是预测,也可以使4Ace出现这样的美丽展示。 好,接下来,只需要去在魔术中用故事和画面去编排这些枯燥的操作,构建上面的恒等式,魔术便设计完成了。 魔术部分: 第一个魔术是一类魔术4Ace presentation的我自己的修缮版本,这个效果一般快速地可以由setting加简单手法直接变出(参看《近近景近景》的相关内容)复杂一点的手法也可以看起来更炫和神秘一些 第二个表演则是同一个原理的预测效果的展现版本,印象中在《魔星高照》名人变魔术单元中曾经表演过类似的效果。这个展现方式没有那么多美丽画面但是胜在心理上的不可能和震撼的感受。

    80410发布于 2019-09-27
  • 来自专栏ZackSock

    Java工场模式+反射写出通用代码

    Testpublic void demo1(){ System.out.println("晚会现在开始"); //周杰伦唱歌 new Jielun().sing(); //表演魔术 ; //迈克尔杰克逊跳舞 new Michael().dance(); System.out.println("晚会结束");} 这是用Java代码模拟的一场晚会,顺序就是唱歌、表演魔术 这个时候我们就可以抽象出一个接口Singer /*** 歌手的接口,每个歌手都应实现这个接口*/interface Singer(){ void sing();} 其它的也可以抽出接口 /*** 魔术师的接口

    51830发布于 2020-01-22
  • 来自专栏MatheMagician

    循环、递归与魔术(五)——再谈递归的魔术逻辑与欣赏

    在前面的系列文章里,我们谈到了循环和递归的数理逻辑和魔术艺术逻辑,今天我们就递归的魔术逻辑,通过一个优雅的魔术,来最后对整个系列做一个收尾。 如果不熟悉前面的文章,建议可以先回顾一下: 循环、递归与魔术(四)——递归的魔术逻辑初探与欣赏 循环、递归与魔术(三)——再谈循环的魔术逻辑与欣赏 循环、递归与魔术(二)——循环的魔术逻辑浅析与欣赏 > 7张 -> 6张 -> 5张 -> 4张 ->3张 -> 1张 所以从逻辑结构上看,这个魔术需要的手法是可以顺理成章推出来的: 手法:8假装3,8展示4,7展示4,6展示4,5展示4,3展示4 而4 一方面防止因为重复隐藏秘密,另一方面也增加一些变化而不无聊,而且从整体上通过相似性扩展强化整体的交代干净的过程: 8展示4:仅ElmsleyCount,无交代; 7展示4:ElmsleyCount后简单交代4张; 6展示 这让我联想到了《眼花缭乱》表演中的硬币矩阵里最后回到原位的惊艳效果以及在源的Hofzinser Ace Problem中那个干净的Ace全部翻转。

    81610发布于 2019-12-05
  • 来自专栏MatheMagician

    Si Stebbins Stack中的数学与魔术(九)——序列的多重周期性

    》 Si Stebbins Stack中的数学与魔术(七)——魔术《周而复始的世界》续集 Si Stebbins Stack中的数学与魔术(六)——魔术《周而复始的世界》 Si Stebbins Stack 中的数学与魔术(五)——魔术《恐怖透视术》 Si Stebbins Stack中的数学与魔术(四)——如何快速得到一个Si Stebbins Stack Si Stebbins Stack中的数学与魔术 视频1 完全控制 这个魔术在前面讲《约瑟夫问题与魔术(十)——魔术《完全控制》》章节中有提到,其实这里原版需要用到Si Stebbins序列的基本原因,仅仅是要找一个牌序,看起来比较乱而已,其内通过周期性找到的另一个复制品并没有用到 其中所用到的几个单词,color(5 + 1 = 6),number(5 + 1 + 6 + 1 = 13),matching card(5 + 1 + 6 + 1 + 12 + 1 = 26),恰到好处完全不生硬地应用了序列的特性 我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。

    54320发布于 2021-05-11
  • 来自专栏腾讯技术工程官方号的专栏

    「递归」第2集 | 变得了魔术,解得了高数,这届鹅厂程序员有点酷

    在工作中,他是沉迷数学研究的搜索算法工程师;在舞台上,他是善于为观众带来惊喜的数学魔术师。程序员与魔术师的双重身份会碰撞出怎样的火花?让我们一起来走进他的故事。 业余研究魔术16年,是资深的数学魔术爱好者。其极客般的理工思维使得他的魔术风格独树一帜,逻辑严密,富有美感。 接触魔术的契机 大概比数学晚一点,小学毕业前在外公家的电视上看到《魔星高照》节目里徒手点亮了一个电灯泡,当时突然觉得:哇,怎么可能有这样的事情! 从此就开始爱上了魔术,而且一定要钻研到底是怎么做到的。 感性与理性思维的平衡与启发 人类天然有理性和感性两种思维。 近景魔术最核心的秘密其实就是错误引导。能够做到这一点的前提就是要分析观众的认知规律,他会看哪里、会注意哪里。

    88050发布于 2019-09-16
  • 来自专栏生信

    学习小组Day6笔记--

    R包安装命令是install.packages(“包”)或者BiocManager::install(“包”)

    39100编辑于 2023-02-11
  • 来自专栏MatheMagician

    文字对称中的数学与魔术(六)——魔术《689的预言》

    在上一篇文章中,我们介绍的魔术《69式数字预言》用到的是单个数字的中心对称性,再往前的《3 or 8》则是一个很巧妙的阿拉伯数字内部的对应关系,相关内容请戳: 文字对称中的数学与魔术(五)——魔术《69 式数字预言》 文字对称中的数学与魔术(四)——魔术《3 or 8》 文字对称中的数学与魔术(三)——汉字到中文的对称性 文字对称中的数学与魔术(二)——英文字母到单词的对称性 文字对称中的数学与魔术 其排列的总数为6种,而由于必须是错排,其真正的可行排列竟然只有213和312这么少的两种而已。这比印象中约摸10种以内的排列要少得多,少得都引起质变了。 视频1 the 9 视频2 春晚《幻境》 视频3 47 or 七九 我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。 既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。

    68310编辑于 2023-03-06
领券