春碗刘千魔术解析易语言版本 图片 资源介绍
' ’‘揭秘:' 重要的步骤前 我加了* 表示' 第一个*号, 就是从顶部拿3张牌 插入中间,结果会怎样,不管原来几张牌如何排列,经过本步骤后一定会出现首张与尾张相同的情况,如果没做到,可以和小尼一桌。' 这里延伸一下, 如果魔术开始是5张牌,这里就要拿4张牌, 依次类推。。。' 第二个*号,很神奇,必须的步骤,使底牌排在了准确的位置,具体来说就是:' 如果 手余

资源介绍

春碗刘千魔术解析易语言版本qDN烈火资源网

' ’‘揭秘:qDN烈火资源网
' 重要的步骤前 我加了* 表示qDN烈火资源网
' 第一个*号, 就是从顶部拿3张牌 插入中间,结果会怎样,不管原来几张牌如何排列,经过本步骤后一定会出现首张与尾张相同的情况,如果没做到,可以和小尼一桌。qDN烈火资源网
' 这里延伸一下, 如果魔术开始是5张牌,这里就要拿4张牌, 依次类推。。。qDN烈火资源网
qDN烈火资源网
qDN烈火资源网
' 第二个*号,很神奇,必须的步骤,使底牌排在了准确的位置,具体来说就是:qDN烈火资源网
' 如果 手余 5 张牌,循环一轮后底牌在第 3 位置,如果手余 6 张牌,循环一轮后底牌在 第 5 位置,本操作很重要,使其正好符合 约瑟夫序列qDN烈火资源网
qDN烈火资源网
' 第三个*号,约瑟夫问题的实施。过程不能错qDN烈火资源网
qDN烈火资源网
' 至于为何是下翻7张,其实也不是巧合,有兴趣去了解下约瑟夫问题, 下面我们来分析 约瑟夫问题的解法,递归法。qDN烈火资源网
qDN烈火资源网
' 本程序只从程序算法角度解决问题,还有更好的数学解法,从略。qDN烈火资源网
qDN烈火资源网
最后加上 约瑟夫问题的解法 ,完美了qDN烈火资源网
qDN烈火资源网
qDN烈火资源网
.版本 2qDN烈火资源网
qDN烈火资源网
.子程序 子程序报数问题qDN烈火资源网
.局部变量 n, 整数型qDN烈火资源网
.局部变量 m, 整数型qDN烈火资源网
.局部变量 people, , , "0"qDN烈火资源网
.局部变量 i, 整数型qDN烈火资源网
.局部变量 j, 整数型qDN烈火资源网
.局部变量 count, 整数型qDN烈火资源网
qDN烈火资源网
' 设有n个人(编号从1到n)围成一圈,从第一个人开始报数,数到m的人出列,然后从出列的下一个人开始重新报数,直到所有人依次出列。问,最后一个出列的人的编号是多少?qDN烈火资源网
n = 到整数 (编辑框3.内容)  ' 总人数)qDN烈火资源网
m = 到整数 (编辑框4.内容)  ' 报数到m的人出列qDN烈火资源网
重定义数组 (people, 假, n)qDN烈火资源网
.计次循环首 (n, i)qDN烈火资源网
    people = 1  ' '初始化每个人的状态为在圈内qDN烈火资源网
.计次循环尾 ()qDN烈火资源网
count = 0  ' 计数器,记录报数到m的人qDN烈火资源网
i = 1  ' 从第1个人开始报数qDN烈火资源网
j = 0  ' 记录出圈的人数qDN烈火资源网
.判断循环首 (j < n - 1)  ' 当出圈人数小于总人数时循环qDN烈火资源网
    .如果 (people = 1)qDN烈火资源网
        count = count + 1  ' 报数加1qDN烈火资源网
        .如果 (count = m)  ' 如果报数到m了qDN烈火资源网
            count = 0  ' 重新开始报数qDN烈火资源网
            people = 0  ' 将这个人标记为出圈qDN烈火资源网
            j = j + 1  ' 出圈人数加1qDN烈火资源网
            输出调试文本 (数组_hebing_整数 (people, “,”))qDN烈火资源网
        .否则qDN烈火资源网
qDN烈火资源网
        .如果结束qDN烈火资源网
qDN烈火资源网
qDN烈火资源网
    .否则qDN烈火资源网
qDN烈火资源网
    .如果结束qDN烈火资源网
    i = i + 1  ' 继续报数qDN烈火资源网
    .如果真 (i > n)qDN烈火资源网
        i = 1  ' 如果到了最后一个人,则从第一个人继续报数qDN烈火资源网
    .如果真结束qDN烈火资源网
。。。qDN烈火资源网
qDN烈火资源网
话说论坛为啥不能直接上传易语言源码格式qDN烈火资源网
qDN烈火资源网
源码链接:https://pan.quark.cn/s/56b94ace0a14qDN烈火资源网