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

    春晚魔术java代码揭秘

    : " + Arrays.toString(poker2)); //todo 在这个过程过你会发现,顺序是相同的,这是魔术的关键点1,必须相同否则会有问题 //魔术步骤1 //todo 经过上面名字切牌的过程,你会发现魔术神奇的地方来了,不关你是几个字,顺序都是一摸一样的,四个一组。 //魔术步骤2:前面三张扑克牌,插入到中间的任意位置,我就将除第一个 最后一个随机打乱 String[] extracted = Arrays.copyOfRange(poker2, 0 ; //todo 经过这一个步骤,聪明的你又看出来问题了,无论怎么操作,只要插入到非第一张和最后一张的位置, // 第一张和最后一张永远是一样的 // 魔术步骤 //魔术步骤5:见证奇迹的时刻 ,7个字这边就定义7次循环了 // 循环7次,每次将最后一个元素移动到第一个位置,其他元素前移 for (int i = 0; i < 7

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

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

    昨晚春晚上的两个魔术表演的都非常 nice,其中第二个魔术就是非常经典的约瑟夫环问题! 先来讲一下什么是约瑟夫环问题。 假设牌是2张,编号分别是1 2 会把1放到后面,扔掉2。剩下的就是最开始放在最上边的那张1。 2、稍微复杂一点的情况,牌的张数是2的n次方。 比如牌是8张,编号分别是1 2 3 4 5 6 7 8 第一轮会把2 4 6 8扔掉,剩下1 3 5 7按顺序放在后面,又退化成了4张牌的情况。 魔术的流程是这样的: 1、4张牌对折后撕开,就是8张,叠放在一起就是ABCDABCD ❗️注意ABCD四个数字是完全等价的 2、(无关步骤)根据名字字数,把顶上的牌放到下面,但怎么放都不会改变循环序列的相对位置 \n此时序列为:{''.join(arr)}\n---") # 步骤2(无关步骤):名字长度随机选取,这里取2到5(其实任意整数都行) name_len = randint(2, 5) # 把name_len

    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
  • 来自专栏程序员小藕

    春晚魔术的模拟程序

    在大年三十的春晚上,呈现的两个魔术表演真是令人叹为观止。尤其是那第二个魔术,他以高超的技艺演绎了经典的约瑟夫环问题,让人不禁感叹他的魔术才华与幽默风格相得益彰! 什么是约瑟夫环问题? 扑克牌解释约瑟夫环问题 1、考虑最简单的情况 假设有2张牌,编号分别是1和2。 首先将1放到后面,扔掉2。剩下的就是最开始放在最上边的那张1。 2、稍微复杂一点的情况,牌的张数是2的n次方 比如有8张牌,编号分别是1、2、3、4、5、6、7、8。 第一轮会把2、4、6、8扔掉,剩下1、3、5、7按顺序放在后面,又退化成了4张牌的情况。 魔术的流程 4张牌对折后撕开,就是8张,叠放在一起就是ABCDABCD。注意,ABCD四个数字是完全等价的。 根据名字字数,把顶上的牌放到下面,但怎么放都不会改变循环序列的相对位置。 南方人/北方人/不确定,分别拿顶上的1/2/3张牌插到中间,但是不会改变剩下7张牌是xxxxxxB的结果。 男生拿掉1张,女生拿掉2张。也就是男生剩下6张,女生剩下5张。

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

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

    今天我们来看一个近10年前的经典,相信这个魔术表演能勾起不少人童年的回忆。 春晚表演《幻境》 先回顾一下这经典之作吧! 视频1 春晚《幻镜》 //v.qq.com/txp/iframe/player.html? 忘了是什么时候从哪个大师那里学到(也许就是吧),一个完整的魔术节目一定还要有一个贯穿始终的主题。当然,只是做一个手法展示,道具展销的除外。 其它部分不多说了,主要讲下名字在镜子中变得正常而手上真的字变反的这个部分。 不过这里倒是很简单,用了一个“大家对镜子里的文字到底应该怎样颠倒”这件事情并没有太多经验的事实,使得早就在换托以后就发生的变化效果,一直延时到把倒过来的二字正过来,大家才恍然大悟,这时候,距离换托,

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

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

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

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

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

    当时留了个尾巴,给出了在国家魔术人才培养计划中的结构解析的板书。 图1 魔术课的结构拆解板书 https://www.bilibili.com/video/BV12g4y1c7sp/? 我这里用的表演呈现层,范围就大一些了,包括了达成表演目标效果所用的各种修辞手法,艺术手法等,而主题一致是其中一个基本而重要的要求吧; 2. 情节效果拆成了两层,我揉在了一起。 而魔术的进步和效果的产生很多时候就是不断的层级累加,一直能领先观众1-2个身位的结果。 3. 我增加了原理层。这一点应该是我和早就习惯以舞台为生的魔术师最大的区别吧。 当然本人还有课堂里上他课的真魔术大师,应该本质上都优先是表演大师,然后才基于这个目标去研究原理。而我是倒过来的,原理太迷人了,为了把原理搞透,推广出去,我不得不补齐我的表演短板。 4.

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

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

    魔 术 步 骤 首先,准备4张扑克牌,跟随魔术步骤,来一起“见证奇迹”。 步骤 7 执行如下操作 从牌堆顶开始 每次先将牌堆顶的一张牌放在牌堆底 再扔掉牌堆顶的一张牌 重复以上操作直到只剩一张牌 检查此牌和放置在一旁的牌是否吻合 若吻合,则魔术成功 按照上面的魔术步骤用C , {3}, {4}, {1}, {2}, {3}, {4} }; cout << "初始卡牌: "; printDeck(deck); // 模拟魔术步骤 moveCardsForName << endl; } else { cout << "魔术失败!最后一张牌与预留的牌不符。" : 4 魔术成功!

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

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

    今年春晚魔术堪称惊艳全场,那么他这个魔术实现的原理是什么呢?今天,就让咱们使用 JS 是实现这个魔术。 用扑克牌解读约瑟夫环 情景一:最简单的情况 设想我们有两张牌,编号为1和2。我们先将1号放到底部,然后移除2号。结果,最初位于顶部的1号牌幸存下来。 情景二:牌数为2的n次幂 设想有8张牌,编号从1到8。在第一轮中,我们会移除所有偶数编号的牌(2、4、6、8),剩余1、3、5、7。这些剩下的牌按顺序放到底部,问题就变成了4张牌的情况。 南方人/北方人/不确定,分别拿顶上的1/2/3张牌插到中间,但是不会改变剩下7张牌是xxxxxxB的结果。 男生拿掉1张,女生拿掉2张。也就是男生剩下6张,女生剩下5张。 ${arr.join('')}`); } console.log(`---\n最终结果:剩下的牌为${arr[0]},步骤4中留下来的牌也是${restCard}`); 通过上述代码,我们可以模拟春晚魔术的整个过程

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

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

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

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

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

    2 3:20~3:50 Jerry吃蛋糕 image.png 这一幕优雅的旋转蛋糕的吃法,Jerry你确定不是在演杂技? 我现在还深刻记得很久以前在《越策越开心》节目里变钞票进橙子魔术的时候,把指套插入橙子以后深深地吸了一口自己的大拇指,还有在需要换托的时候夸张地用手指点了口水当胶水去封信封的画面,以及常见的夸张的表情 然而,魔术师除了这个,还要利用这个引导效果去准备构造更高级别的神奇的准备。 2. 夸张本身就是魔术效果的一种吸引人的特质。 所以啊,魔术再简单,一般观众也没空去记得那些流程和秘密的,不信你问,有多少人记得09年春晚用橡皮筋干啥了,怎么变的?关键是你能演好,留下深刻印象,那在这个观众心里,这个魔术就是你的。 有一个经典的案例,你一看应该就明白了:的经典流程,消失的水。 大约16年前我还在读小学的时候,参加魔星耀三湘活动来了我当时就读的长沙长塘里小学,他当着上千的孩子在操场上表演了消失的水。

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

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

    大约十几年前年前,学魔术还需要在仅播放一遍的电视上去扒和回忆,还需要去百度上不断变换query来搜索,在零星几个魔术网站上看1~2分钟的拍摄得模糊不清的教学,这些已经是老一辈魔术师不可想象的学习便利了, 指望着破解或学到几个魔术的秘密就成魔术师?哪有那么好的事呢? 如何和魔术秘密舒服地共处? 破解魔术秘密,一点不厉害,那是一群观众去对抗一个魔术师,研发出魔术才叫真正厉害。 这让我想起很早以前金牌魔术团节目中汪涵在一个选手表演完后,就是这么说的,后来对那个当众说出魔术秘密的人的说: 如果一个人能够当众揭秘魔术,那他没有资格当魔术师。 而魔术表演者呢?你当场揭穿他,如果是爱好者,反正不靠这个吃饭,尴尬一下就过去了;魔术师的话,你就更不可能影响他,你的自娱自乐,他的挣钱要紧。 你看春晚魔术每年揭秘影响到在圈内外的认同了吗? 谦让人一见就想起见证奇迹,大卫从头到脚都是一股坚定而神秘的感觉,这些风格的塑造,才是他们安身立命之本,他们从来没有要当魔法师,这超出边界了,但是是以魔术师的身份在扮演他。

    51910编辑于 2022-12-09
  • 来自专栏MatheMagician

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

    数学到魔术的模型: 注意看前文的那个公式,在魔术里,a往往是预先准备好的setting,b是观众的随机选择,而结果的a则是魔术效果,可以是预测,也可以使4Ace出现这样的美丽展示。 和数世界上任何一个集合里的元素个数在模型意义上完全相同,而把数好的两叠牌合在一起的张数和把两筐枣子混在一起的总数都符合“同质化元素集合的合并”这一操作,即可用加法来建模其大小变化结果,反之则是对应减法的拆分过程,即发剩下牌的张数,对应着减法运算; 2. 魔术部分: 第一个魔术是一类魔术4Ace presentation的我自己的修缮版本,这个效果一般快速地可以由setting加简单手法直接变出(参看《近近景近景》的相关内容)复杂一点的手法也可以看起来更炫和神秘一些 第二个表演则是同一个原理的预测效果的展现版本,印象中在《魔星高照》名人变魔术单元中曾经表演过类似的效果。这个展现方式没有那么多美丽画面但是胜在心理上的不可能和震撼的感受。 视频2 Exact Composed prediction “因为心里想的数字可能会受到我的干扰,所以我们采用一种更安全的方式,请你用手随便拿起一叠牌,大概1 / 3以内。”

    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
  • 来自专栏腾讯技术工程官方号的专栏

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

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

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

    魔术里的集合、映射和关系(一)——集合是个啥?

    为了陪伴大家度过春节,我们开启了春节档日更文章系列,从1月24日到昨天1月30日,大年三十到初六,七天共计4篇原创,1篇图片,2次转载。体会了一把日更作者的辛苦,着实佩服。 相关回顾请戳: 科比和教会我:学会接受诋毁和攻击,是一门人生必修课! 回忆录 昨天春晚有魔术?我怎么没印象? 特定性质:无论这个性质是什么,多么不靠谱,总得说出个名字来区分和定义属于和不属于某个特定集合; 2. 好了,今天数学魔术师的分享就到这里,希望各位客官喜欢,期待你的转发和赞赏哦! 我们是谁:MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。 既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。

    83220发布于 2020-02-17
  • 来自专栏MatheMagician

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

    如果不熟悉前面的文章,建议可以先回顾一下: 循环、递归与魔术(四)——递归的魔术逻辑初探与欣赏 循环、递归与魔术(三)——再谈循环的魔术逻辑与欣赏 循环、递归与魔术(二)——循环的魔术逻辑浅析与欣赏 手法就像语言里的单词一样,不是语言的精华;而魔术的精华,在于把这些手法和道具通过艺术和逻辑演绎成一个完整的作品。 2. ElmsleyCount加Kiko的Spread手法1,十分聪明地掩饰使得4张牌能一起移动,信服力十足,优于一般的Ascanio Spread; 5展示4:ElmsleyCount加Kiko的Spread手法2, 到3张变一张的时候,这也不是什么很难的手法,按道理推理应该继续表演还能够恢复4张才是,3张,2张的状态看起来都很奇怪。结果借着最开始就是要找牌的铺垫,直接完成了观众心中4变1的效果,简直就是奇迹! 这让我联想到了《眼花缭乱》表演中的硬币矩阵里最后回到原位的惊艳效果以及在源的Hofzinser Ace Problem中那个干净的Ace全部翻转。

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

    循环、递归与魔术(四)——递归的魔术逻辑初探与欣赏

    在前面的系列文章里,我们谈到了循环和递归的数理逻辑和以及循环的魔术艺术逻辑,今天我们进入最后一个议题——递归的魔术逻辑。 相关历史文章请戳: 循环、递归与魔术(三)——再谈循环的魔术逻辑与欣赏 循环、递归与魔术(二)——循环的魔术逻辑浅析与欣赏 循环、递归与魔术(一)——递归与循环的数理逻辑 递归的魔术逻辑 递归在形态上表示为自相似 一般的使效果提升的递进有各种方式,比如《Poker in Pocket》等两个以上效果的魔术基本上都是一个递进增强的模式,这显然是有1 + 1 > 2的效果的。不然已经感受过高潮了,何必再来一次呢? 而我一般表演的版本也是基于他的获奖流程以及多次演绎后综合的结果。实在不敢有什么创新了,实在太经典了,能够完整复现出来都是一个奇迹般的作品! 视频2 阴魂不散英文版 这个流程之所以巧妙,在于完美融合了手法,错误引导以及整体结构。真是一个浑然天成的作品,看不出任何的雕琢粉饰的成分,仿佛奇迹天然就是这样子的。

    93520发布于 2019-11-21
  • 来自专栏MatheMagician

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

    》 Si Stebbins Stack中的数学与魔术(七)——魔术《周而复始的世界》续集 Si Stebbins Stack中的数学与魔术(六)——魔术《周而复始的世界》 Si Stebbins Stack 视频1 完全控制 这个魔术在前面讲《约瑟夫问题与魔术(十)——魔术《完全控制》》章节中有提到,其实这里原版需要用到Si Stebbins序列的基本原因,仅仅是要找一个牌序,看起来比较乱而已,其内通过周期性找到的另一个复制品并没有用到 最后走过了2个花色周期得到了同花色,3个点数周期,也就是前一个点数周期找到了同点数,以及1个半叠周期找到了它完美的替身。这个魔术好就好在,居然天衣无缝地把这些因素,全都融合在了一起。 视频2 Sly Stebbins 这个魔术是我在一边写这个系列的文章,一边看steve beam的Semi-automatic card tricks vol2的时候找到的,也算是一个比较直接的应用,仅仅比恐怖透视术的数学部分稍微难了那么一点点而已 我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。

    54320发布于 2021-05-11
  • 来自专栏MatheMagician

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

    在上一篇文章中,我们介绍的魔术《69式数字预言》用到的是单个数字的中心对称性,再往前的《3 or 8》则是一个很巧妙的阿拉伯数字内部的对应关系,相关内容请戳: 文字对称中的数学与魔术(五)——魔术《69 式数字预言》 文字对称中的数学与魔术(四)——魔术《3 or 8》 文字对称中的数学与魔术(三)——汉字到中文的对称性 文字对称中的数学与魔术(二)——英文字母到单词的对称性 文字对称中的数学与魔术 而关键还在于,错排让我们仅有2个可能的结果,让这一切都是可行的。 视频1 the 9 视频2 春晚《幻境》 视频3 47 or 七九 我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。 既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。

    68310编辑于 2023-03-06
领券