广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    程序员升职记第19关计时器通关攻略

    来源:网络收集  点击:  时间:2024-04-27
    【导读】:
    这关是沫沫自认为对比之前所有关卡是最难的一关,为什么说它最难,因为它不仅困惑了沫沫很久,而且最后的诊断结果并不如意,一起来看看吧。工具/原料more程序员升职记方法/步骤1/7分步阅读

    这关要求除了将每个字母放进outbox外,还要求它们与到0之间的每一个数都放进去,数字有正有负,无疑增加了难度。

    2/7

    首先是输入最简单的部分,输入inbox后,首先要将这个字母复制一份到地毯上复制后将手上的字母放进outbox。

    3/7

    接下来输入bump-将地毯上的数字减去1,这时候就会有两种情况发生,一种是数字本身是>1的正数时,减去1后结果最小只为0,但如果是1一下的数,包括0和负数,在减去1后就成为了负数,因此在这里加入了一个负跳转代码。

    4/7

    负跳转以外的情况都能正常通过下图的程序读取。

    5/7

    难点就是在写负跳转这一段的代码,按照这个程序从第一步走下来,假设正数为5,在经历了五次减1后,终于变成0送进去outbox,但它依然会继续减,从0减为-1,然后将-1放进outbox,这样就违背了游戏的意愿,因此在负跳转的前提下,我们要输入bump+代码,将-1+1+0加回去,然后再输入一个0跳转代码,遇到0的时候将它直接丢掉,而不是被放进outbox。

    这一点弄懂了,接下来就好操作了。

    6/7

    从第一步走下来,假设负数是-1,在第4步的时候减了1变成-1-1=-2,这一步是为了确定inbox的数是正数还是负数,从负数的结果得知inbox的数本身也是负数,因此通过负跳转直接进入第7步,加1后变成-2+1=-1,这一步是将数字变为原先大小,那么我们是为了让它一步步加为0,因此在不是0的情况下,再次加入一个bump+代码,-1+1=0,插入向上循环的jump代码后可将结果放入outbox。接下来就是重复本篇经验第3步骤了。0-1=-1 -1+1=0将0丢掉即可从inbox中拿下一个字母进行循环操作。

    7/7

    通过这个方法,沫沫虽然将行数达到了诊断要求,但步数却多了很多,但实在也想不出去听解答办法了,若小伙伴们想到了,记得投票告诉沫沫哦!

    程序员升职记计时器
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_606641.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 20:24:33  耗时:0.026
    0.0257s