本楼层需要将输入的数放大四十倍输出.
放大四十倍可以看做放大32倍和放大8倍的和,解决步骤如下:
- 把输入复制到0位置处
- 把手上的数加上0位置处的数,加完放回0位置(此时已放大2倍)
- 把手上的数加上0位置处的数,加完放回0位置(此时已放大4倍)
- 把手上的数加上0位置处的数,加完放入1位置(此时1位置处是原来的8倍, 0位置处是原来的4倍)
- 把手上的数加上1位置处的数,加完放回0位置(此时0位置是原来的16倍,1位置是原来的8倍)
- 把手上的数加上0位置处的数,不要放回0位置(此时手上的已经是32倍)
- 加上1位置的数,并输出
- 重复0-7过程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17-- HUMAN RESOURCE MACHINE PROGRAM --
a:
INBOX
COPYTO 0
ADD 0
COPYTO 0
ADD 0
COPYTO 0
ADD 0
COPYTO 1
ADD 1
COPYTO 0
ADD 0
ADD 1
OUTBOX
JUMP a
1 | a: |