重要的步骤前 我加了*表示,第一个就是从顶部拿3张牌 插入中间,结果会怎样,不管原来几张牌如何排列,经过本步骤后一定会出现首张与尾张相同的情况,如果没做到,可以和小尼一桌。如果魔术开始是5张牌,这里就要拿4张牌, 依次类推。

第二个很神奇,必须的步骤,使底牌排在了准确的位置,具体来说就是:

如果 手余 5 张牌,循环一轮后底牌在第 3 位置,如果手余 6 张牌,循环一轮后底牌在 第 5 位置,本操作很重要,使其正好符合 约瑟夫序列

第三个*号,约瑟夫问题的实施。过程不能错

至于为何是下翻7张,其实也不是巧合,有兴趣去了解下约瑟夫问题, 下面我们来分析 约瑟夫问题的解法,递归法。

本程序只从程序算法角度解决问题,还有更好的数学解法,从略。

最后加上 约瑟夫问题的解法 ,完美了

春晚刘谦魔术解析易语言版本源码 第5张插图