• 春碗刘千魔术解析易语言版本

    257次阅读
    没有评论

    共计 971 个字符,预计需要花费 3 分钟才能阅读完成。

    春碗刘千魔术解析易语言版本

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

    ‘ 第二个 * 号,很神奇,必须的步骤,使底牌排在了准确的位置,具体来说就是:
    ‘ 如果 手余 5 张牌,循环一轮后底牌在第 3 位置,如果手余 6 张牌,循环一轮后底牌在 第 5 位置,本操作很重要,使其正好符合 约瑟夫序列

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

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

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

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

    . 版本 2

    . 子程序 子程序报数问题
    . 局部变量 n, 整数型
    . 局部变量 m, 整数型
    . 局部变量 people, , , “0”
    . 局部变量 i, 整数型
    . 局部变量 j, 整数型
    . 局部变量 count, 整数型

    ‘ 设有 n 个人(编号从 1 到 n)围成一圈,从第一个人开始报数,数到 m 的人出列,然后从出列的下一个人开始重新报数,直到所有人依次出列。问,最后一个出列的人的编号是多少?
    n = 到整数 (编辑框 3. 内容)  ‘ 总人数 )
    m = 到整数 (编辑框 4. 内容)  ‘ 报数到 m 的人出列
    重定义数组 (people, 假, n)
    . 计次循环首 (n, i)
    people = 1  ‘ ‘ 初始化每个人的状态为在圈内
    . 计次循环尾 ()
    count = 0  ‘ 计数器,记录报数到 m 的人
    i = 1  ‘ 从第 1 个人开始报数
    j = 0  ‘ 记录出圈的人数
    . 判断循环首 (j < n - 1)  ‘ 当出圈人数小于总人数时循环
    . 如果 (people = 1)
    count = count + 1  ‘ 报数加 1
    . 如果 (count = m)  ‘ 如果报数到 m 了
    count = 0  ‘ 重新开始报数
    people = 0  ‘ 将这个人标记为出圈
    j = j + 1  ‘ 出圈人数加 1
    输出调试文本 (数组_hebing_整数 (people,“,”))
    . 否则

    . 如果结束

    . 否则

    . 如果结束
    i = i + 1  ‘ 继续报数
    . 如果真 (i > n)
    i = 1  ‘ 如果到了最后一个人,则从第一个人继续报数
    . 如果真结束
    。。。

    话说论坛为啥不能直接上传易语言源码格式

    源码链接:https://pan.quark.cn/s/56b94ace0a14

    正文完
     0
    suyan
    版权声明:本站原创文章,由 suyan 2024-02-14发表,共计971字。
    转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
    评论(没有评论)
    验证码