程序员升职记 全关卡攻略&通俗思路 Human Resource Machine

2023-11-20

程序员升职记 全过关方法&通俗思路

博主本着能过就过的思想,写出的解答必然不是最优解。
但是可以给大家提供一点思路来参考。其中17和22的解答整理自网络,特别是17的解答,要比博主的原解答巧妙不少。

1,收发室
模拟程序输入输出
– HUMAN RESOURCE MACHINE PROGRAM –
INBOX
OUTBOX
INBOX
OUTBOX
INBOX
OUTBOX

2,繁忙的收发室
使用Jump来对某一段模块进行循环
– HUMAN RESOURCE MACHINE PROGRAM –
a:
INBOX
OUTBOX
JUMP a

3,复印楼层
也是教学关卡,使用copyfrom获取地面上的字母数字等
– HUMAN RESOURCE MACHINE PROGRAM –

COPYFROM 4
OUTBOX
COPYFROM 0
OUTBOX
COPYFROM 3
OUTBOX

4,扰码处理器
将数字分别copyto1,2.然后以2,1的顺序copyfrom即可
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
INBOX
COPYTO 1
COPYFROM 1
OUTBOX
COPYFROM 0
OUTBOX
JUMP a

6,多雨之夏
学习使用add
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
INBOX
ADD 0
OUTBOX
JUMP a

7,零扑灭行动
学习使用有条件的jump模块(jump if zero)
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPZ b
OUTBOX
JUMP a

8,三倍扩大室
放在地上加3次
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
ADD 0
ADD 0
COPYTO 1
OUTBOX
JUMP a

9,零保护行动
jump用法
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPZ c
JUMP b
c:
OUTBOX
JUMP a

10,八倍扩大装置
a----2a----4a----8a,使用三次add
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
ADD 0
COPYTO 1
ADD 1
COPYTO 2
ADD 2
COPYTO 3
COPYFROM 3
OUTBOX
JUMP a

11,加运算走廊
学习使用相减
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
INBOX
COPYTO 1
SUB 0
OUTBOX
COPYFROM 0
SUB 1
OUTBOX
JUMP a

12,四十倍扩大器
先算出8倍的结果,再算出32倍的结果,最后相加
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
ADD 0
COPYTO 1
ADD 1
COPYTO 2
ADD 2
COPYTO 3
ADD 3
COPYTO 4
ADD 4
ADD 3
OUTBOX
JUMP a

13,均衡之间
通过两数相减来判断是否相等
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
COPYTO 0
INBOX
SUB 0
JUMPZ c
JUMP b
c:
COPYFROM 0
OUTBOX
JUMP a

14,最大值室
也是通过两数相减来判断取哪个值
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
COPYTO 0
INBOX
COPYTO 1
SUB 0
JUMPN c
COPYFROM 1
OUTBOX
JUMP a
c:
COPYFROM 0
OUTBOX
JUMP b

16,绝对正能量
复数通过自减两次变正
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPN c
OUTBOX
JUMP a
c:
COPYTO 0
SUB 0
SUB 0
OUTBOX
JUMP b

17,专属休息室
inbox直接接jump if negative来开始判断,这关多用jump if negative
– HUMAN RESOURCE MACHINE PROGRAM –

JUMP d
a:
INBOX
JUMPN e
b:
COPYFROM 5
c:
OUTBOX
d:
INBOX
JUMPN a
INBOX
JUMPN b
e:
COPYFROM 4
JUMP c

19,计时器
判断正负和0,正–输出,负++输出,0直接输出
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPZ h
JUMPN e
c:
COPYTO 0
OUTBOX
BUMPDN 0
JUMPZ d
JUMP c
d:
OUTBOX
JUMP b
e:
f:
COPYTO 1
OUTBOX
BUMPUP 1
JUMPZ g
JUMP f
g:
h:
OUTBOX
JUMP a

20,乘法研讨会
算乘法,比如2*3 就是2+2+2,创建一个计数器3,每次加2后自减1
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
COPYTO 0
COPYTO 2
INBOX
COPYTO 1
COPYFROM 0
JUMPZ e
COPYFROM 1
JUMPZ f
c:
COPYFROM 1
BUMPDN 1
JUMPZ d
COPYFROM 2
ADD 0
COPYTO 2
JUMP c
d:
COPYFROM 2
OUTBOX
JUMP a
e:
f:
COPYFROM 9
OUTBOX
JUMP b

21,零结尾字符串
循环取值做add,直到取到0,输出add后的值
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPZ c
ADD 5
COPYTO 5
JUMP b
c:
COPYFROM 5
OUTBOX
COPYFROM 5
SUB 5
COPYTO 5
JUMP a

22,斐波那契参上
先布置地面,准备前两个数字1,1,然后把inbox值丢在地上,
比如给个7,那地上先取1和7做减法,负值就输出
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 5
COPYFROM 9
COPYTO 1
COPYTO 2
BUMPUP 2
b:
c:
COPYFROM 2
OUTBOX
COPYFROM 1
COPYTO 0
COPYFROM 2
COPYTO 1
ADD 0
COPYTO 2
SUB 5
JUMPN c
JUMPZ b
JUMP a

23,最小的数字
做减法比较,小就留下
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
COPYTO 1
b:
c:
INBOX
JUMPZ e
SUB 0
JUMPN d
JUMP c
d:
ADD 0
COPYTO 1
COPYTO 0
JUMP b
e:
COPYFROM 1
OUTBOX
JUMP a

24,模运算
循环用减法,直到减到负数,再把减去的数加上一次
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 0
INBOX
COPYTO 1
COPYFROM 0
b:
SUB 1
JUMPN c
JUMP b
c:
ADD 1
OUTBOX
JUMP a

25,累加的倒计时
准备一个格子sum,每次自减后和sum相加
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
JUMPZ d
COPYTO 0
COPYTO 1
b:
COPYFROM 0
BUMPDN 0
JUMPZ c
ADD 1
COPYTO 1
JUMP b
c:
COPYFROM 1
d:
OUTBOX
JUMP a

26,小试除法
减法,累计减的次数
– HUMAN RESOURCE MACHINE PROGRAM –

a:
COPYFROM 9
COPYTO 8
INBOX
COPYTO 0
INBOX
COPYTO 1
b:
BUMPUP 8
COPYFROM 0
SUB 1
COPYTO 0
JUMPN c
JUMP b
c:
ADD 1
BUMPDN 8
COPYFROM 8
OUTBOX
JUMP a

28,三排序
铺在地上用冒泡排序做可以
– HUMAN RESOURCE MACHINE PROGRAM –

JUMP c
a:
b:
COPYFROM 0
OUTBOX
COPYFROM 1
OUTBOX
COPYFROM 2
OUTBOX
c:
INBOX
COPYTO 0
INBOX
COPYTO 1
INBOX
COPYTO 2
SUB 0
JUMPN f
d:
COPYFROM 2
SUB 1
JUMPN g
e:
COPYFROM 1
SUB 0
JUMPN h
JUMP a
f:
COPYFROM 2
COPYTO 3
COPYFROM 0
COPYTO 2
COPYFROM 3
COPYTO 0
COPYFROM 2
JUMP d
g:
COPYFROM 2
COPYTO 3
COPYFROM 1
COPYTO 2
COPYFROM 3
COPYTO 1
JUMP e
h:
COPYFROM 1
COPYTO 3
COPYFROM 0
COPYTO 1
COPYFROM 3
COPYTO 0
JUMP b

29,储存楼层
学习关
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 10
COPYFROM [10]
OUTBOX
JUMP a

30,串储存楼层
相比前一关,多个自加和if zero判断,没什么好讲的
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 24
b:
COPYFROM [24]
JUMPZ a
OUTBOX
BUMPUP 24
JUMP b

31,反转字符串
做个序号,先按顺序铺在地上,序号值++
然后按照序号值–,取值
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
JUMPZ c
COPYTO [14]
BUMPUP 14
JUMP b
c:
d:
BUMPDN 14
COPYFROM [14]
OUTBOX
COPYFROM 14
JUMPZ a
JUMP d

32,库存报告
用相减来判断两字母是否相等,做两个变量,一个控制位置,一个控制数量
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
COPYTO 15
COPYFROM 14
SUB 14
COPYTO 14
COPYTO 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
BUMPUP 19
b:
c:
COPYFROM 15
SUB [19]
JUMPZ d
COPYFROM 19
JUMPZ f
BUMPDN 19
JUMP b
d:
BUMPUP 14
COPYFROM 19
JUMPZ e
BUMPDN 19
JUMP c
e:
f:
COPYFROM 14
OUTBOX
JUMP a

34,删除元音字母
没什么好说的
– HUMAN RESOURCE MACHINE PROGRAM –

a:
b:
INBOX
COPYTO 9
COPYFROM 5
COPYTO 6
BUMPUP 6
BUMPUP 6
BUMPUP 6
BUMPUP 6
c:
COPYFROM 9
SUB [6]
JUMPZ b
COPYFROM 6
JUMPZ d
BUMPDN 6
JUMP c
d:
COPYFROM 9
OUTBOX
JUMP a

35,删除重复项
要准备一个变量来保存地上已有的字母的个数
取值的时候,先判断地上有没有,没有的话,先放在地上,再out
有的话,取下一个值
– HUMAN RESOURCE MACHINE PROGRAM –

COPYFROM 14
COPYTO 13
INBOX
COPYTO [14]
COPYFROM 0
OUTBOX
a:
b:
INBOX
COPYTO 12
COPYFROM 14
COPYTO 13
COPYFROM 12
c:
SUB [13]
JUMPZ b
COPYFROM 13
JUMPZ d
BUMPDN 13
COPYFROM 12
JUMP c
d:
BUMPUP 14
COPYFROM 12
COPYTO [14]
OUTBOX
JUMP a

36,字母排序
逐位比较,注意第一个单词和第二个单词的长度不一致
– HUMAN RESOURCE MACHINE PROGRAM –

COPYFROM 23
COPYTO 20
COPYTO 21
COPYFROM 24
COPYTO 22
a:
INBOX
JUMPZ b
COPYTO [23]
BUMPUP 23
JUMP a
b:
c:
INBOX
JUMPZ d
COPYTO [24]
BUMPUP 24
JUMP c
d:
e:
COPYFROM [22]
SUB [21]
JUMPN i
COPYFROM [21]
SUB [22]
JUMPN f
BUMPUP 20
BUMPUP 21
SUB 23
JUMPZ g
BUMPUP 22
SUB 24
JUMPZ j
JUMP e
f:
g:
COPYFROM 21
SUB 20
COPYTO 21
h:
SUB 23
JUMPZ l
COPYFROM [21]
OUTBOX
BUMPUP 21
JUMP h
i:
j:
COPYFROM 22
SUB 20
COPYTO 22
k:
SUB 24
JUMPZ m
COPYFROM [22]
OUTBOX
BUMPUP 22
JUMP k
l:
m:

37,数据链
类似链表
– HUMAN RESOURCE MACHINE PROGRAM –

a:
INBOX
b:
COPYTO 22
JUMPN a
COPYFROM [22]
OUTBOX
BUMPUP 22
COPYFROM [22]
JUMP b

38,数位炸弹
新建两个变量记录十位和百位的数
用减法来统计十位和百位的数字
– HUMAN RESOURCE MACHINE PROGRAM –

a:
COPYFROM 9
COPYTO 0
COPYTO 1
INBOX
COPYTO 8
SUB 10
JUMPN g
ADD 10
SUB 11
JUMPN d
b:
COPYFROM 8
SUB 11
JUMPN c
COPYTO 8
BUMPUP 0
JUMP b
c:
COPYFROM 0
OUTBOX
d:
e:
COPYFROM 8
SUB 10
JUMPN f
COPYTO 8
BUMPUP 1
JUMP e
f:
COPYFROM 1
OUTBOX
g:
COPYFROM 8
OUTBOX
JUMP a

39,重设坐标
这道题,本质还是做除法(减法)取余的过程
比如数字是6 ,即 6%4=2,6/4=1,保存在(2,1)
数字10,10%4=2,10/4=2,保存在(2,2)
– HUMAN RESOURCE MACHINE PROGRAM –

a:
COPYFROM 14
COPYTO 12
COPYTO 13
INBOX
b:
SUB 15
COPYTO 0
JUMPN c
BUMPUP 13
COPYFROM 0
JUMP b
c:
ADD 15
COPYTO 12
OUTBOX
COPYFROM 13
OUTBOX
JUMP a

40,质数工厂
这道题我觉得是全游戏最难的问题
大概思路是,先给一个质数2
取出的数循环对2做减法,如果减到最后不等于0,成为了负数
比如input个3,第一次3-2=1,第二次1-2=-1,那么说明2不是3的质因子。
此时把2+1=3,3-3=0,说明是质因子,把3输出。这里在循环体中要准备一个商值,即统计了最终减了几次,3-3=0,做了一次减法,商即为1
再做判断,若商值为1(商-1=0)的话,说明这个数已经除到最小了,应该获取下一个数字了

– HUMAN RESOURCE MACHINE PROGRAM –

COPYFROM 24
COPYTO 2
COPYTO 20
BUMPUP 20
BUMPUP 20
COPYFROM 20
COPYTO 1
a:
INBOX
COPYTO 0
COPYTO 3
COPYFROM 20
COPYTO 1
b:
c:
d:
COPYFROM 3
SUB 1
COPYTO 3
BUMPUP 2
COPYFROM 3
JUMPN f
JUMPZ e
JUMP d
e:
COPYFROM 1
OUTBOX
COPYFROM 2
BUMPDN 2
JUMPZ a
BUMPUP 2
COPYTO 0
COPYTO 3
SUB 2
COPYTO 2
JUMP c
f:
BUMPUP 1
COPYFROM 24
COPYTO 2
COPYFROM 0
COPYTO 3
JUMP b

41,排序楼层
我使用的是冒泡排序法
逻辑不难,但是在游戏中实现真的好麻烦。。
– HUMAN RESOURCE MACHINE PROGRAM –

a:
COPYFROM 24
SUB 24
COPYTO 24
COPYTO 19
COPYTO 20
b:
INBOX
COPYTO [20]
JUMPZ c
BUMPUP 20
JUMP b
c:
COPYFROM 20
COPYTO 19
d:
COPYFROM 24
COPYTO 22
COPYTO 23
BUMPUP 23
SUB 20
e:
COPYFROM [23]
JUMPZ j
COPYFROM [22]
SUB [23]
JUMPN f
COPYFROM [22]
COPYTO 21
COPYFROM [23]
COPYTO [22]
COPYFROM 21
COPYTO [23]
f:
BUMPUP 22
BUMPUP 23
COPYFROM 23
SUB 20
JUMPZ g
JUMP e
g:
BUMPDN 19
JUMPZ h
JUMP d
h:
i:
COPYFROM [24]
JUMPZ a
OUTBOX
BUMPUP 24
JUMP i
j:
COPYFROM 0
OUTBOX

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员升职记 全关卡攻略&通俗思路 Human Resource Machine 的相关文章

随机推荐

  • 5. TypeScript 接口

    TypeScript 接口 接口可以在面向对象编程中表示行为的抽象 也可以描述对象的形状 接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约 接口中不能含有具体的实现逻辑 1 函数接口参数 没有接口的写法 const fullNa
  • three.js开发全景视频播放器的现实方法

    业余弄弄three js 想用three js实现播放全景视频 研究了一段 搜索很多资料 感觉这一遍很棒 搜藏分享下 原理 将video标签拉伸显示在three js场景的一个球模型上 用相机在中间播放渲染 基础 基于three js官方案
  • IntelliJ IDEA 学习笔记 - 几个窗口布局设置技巧

    原文 https blog csdn net cgl125167016 article details 79000774 utm source copy IntelliJ IDEA 简体中文专题教程 编辑区分屏 IntelliJ IDEA
  • 下载Eclipse IDE

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 下载eclipse 二 安装语言包 一 下载eclipse Eclipse是一个开放源代码的 基于Java的可扩展开发平台 官方网站是https www ecl
  • 为 SQL Server 站点数据库服务器配置 SPN

    如何为 SQL Server 站点数据库服务器配置 SPN 主题上次更新时间 2008 年 1 月 使用 SQL Server 计算机的本地系统帐户运行 SQL Server 服务不是 SQL Server 最佳方案 为了最安全地运行 SQ
  • day 2

    定义一个学生的结构体 包含学生的姓名年龄 成绩 性别 学生的成绩姓名定义为私有权限 定义一个学生类型的结构体变量 设置共有函数用于给学生的成绩和名字进行赋值 include
  • 半导体成新资本洼地,国产化浪潮势不可挡

    配图来自Canva 近日 中芯国际成功登陆科创板 按照中芯国际发行价27 46元 股 发行16 86亿股计算 本次的募资金额是462 87亿元 比此前招股书规划的200亿元高出一倍多 在超额配售选择权行使后 发行总股数扩大至19 38亿股
  • Linux查看与挂载新磁盘

    问题 把CentOS都换成了Ubuntu Server 16 04 LTS 用df h查看磁盘占用情况 确发现之前插入的一块大容量磁盘 dev sdb1消失了 是磁盘坏了 还是没被系统识别 解决 1 用命令fdisk l查看新磁盘是否被系统
  • QSharedMemory在linux下异常崩溃导致的bug

    感谢这位博主 https blog csdn net xinluo7 article details 118226389 在Windows系统下 当程序出现崩溃 虽然没有主动调用QSharedMemory attach 但是系统会自动回收Q
  • Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中

    前面两篇文章讲述了如何配置MyEclipse和Tomcat开发JSP网站 如何配置Servlet简单实现表单提交 这篇文章主要讲述配置MySQL实现数据库连接MyEclipse 最后将查询表中的数据显示在JSP网页中 文章主要以图片描述为主
  • Java 多线程编程(入门)

    目录 一 简单介绍 Thread类 1 Thread类中一些常用的方法 2 编写一个简单多线程程序 入门 二 Java中创建多线程的方法 重点面试题 1 继承 Thread 类 2 实现 Runnable 接口 重写 run 3 使用匿名内
  • 00.mipi协议

    mipi差分信号原理 理解mipi协议 MIPI DSI LP mode命令及格式详解 MIPI信号的分析 结合示波器实际测试波形 MIPI 移动行业处理器接口 是Mobile Industry Processor Interface的缩写
  • onlyoffice报 error self signed certificate导致download failed错误处理

    安装nextcloud onlyoffice 打开onlyoffice报错 进入容器看out log报错信息 root nextcloud docker ps a Emulate Docker CLI using podman Create
  • HTTP请求详解

    HTTP概念 HTTP全称是HyperText Transfer Protocal 即超文本传输协议 是应用层协议 当你上网浏览网页的时候 浏览器和web服务器之间就会通过HTTP在Internet上进行数据的发送和接收 HTTP是一个基于
  • PHP 两个二维数组求不同

    public function arrcha arr1 0 id gt 1 name gt name arr1 1 id gt 2 name gt name2 arr1 2 id gt 3 name gt name3 arr1 3 id g
  • JNI入门基础

    环境安装 想要使用jni进行ndk开发 我们首先要安装下面这些工具 否则直接从入门到放弃 下载ndk支持 在Android studio中下载上图中框选的两个工具 版本号自己任意选一个 下载完成之后 Android Studio就拥有了进行
  • 类模板函数特化(专用化)specialization of …… after instantiation

    http stackoverflow com questions 7774188 explicit specialization after instantiation http blog csdn net xcysuccess3 arti
  • [ASP.NET MVC 小牛之路]05 - 使用 Ninject

    在 ASP NET MVC 小牛之路 系列上一篇文章 依赖注入 DI 和Ninject 的末尾提到了在ASP NET MVC中使用Ninject要做的两件事情 续这篇文章之后 本文将用一个实际的示例来演示Ninject在ASP NET MV
  • Spring Boot框架

    目录 一 Spring Boot 1 Spring Boot优点 2 创建Spring Boot 3 Spring Boot配置文件 1 配置文件的作用 2 properties文件格式 3 yml文件的格式 4 properties vs
  • 程序员升职记 全关卡攻略&通俗思路 Human Resource Machine

    程序员升职记 全过关方法 通俗思路 博主本着能过就过的思想 写出的解答必然不是最优解 但是可以给大家提供一点思路来参考 其中17和22的解答整理自网络 特别是17的解答 要比博主的原解答巧妙不少 1 收发室 模拟程序输入输出 HUMAN R