以第一个输入作为待相加的数,第二个输入为相加次数,可以优化代码行数。
-- HUMAN RESOURCE MACHINE PROGRAM -- JUMP f a: COPYFROM 2 c: OUTBOX f: INBOX COPYTO 0 COPYTO 2 INBOX COPYTO 1 JUMPZ c h: BUMPDN 1 JUMPZ a COPYFROM 2 ADD 0 COPYTO 2 JUMP h
-- HUMAN RESOURCE MACHINE PROGRAM -- JUMP f z: COPYFROM 9 JUMP c a: COPYFROM 2 c: OUTBOX f: INBOX JUMPZ i COPYTO 0 COPYTO 2 INBOX JUMPZ c COPYTO 1 SUB 0 JUMPN h COPYFROM 1 COPYTO 2 COPYFROM 0 COPYTO 1 COPYFROM 2 COPYTO 0 h: BUMPDN 1 JUMPZ a COPYFROM 2 ADD 0 COPYTO 2 JUMP h i: INBOX JUMP z
下面几段代码将第一个输入作为相加次数,导致多了几次存取,行数和效率都不好。
-- HUMAN RESOURCE MACHINE PROGRAM -- JUMP f a: COPYFROM 2 JUMP c b: COPYFROM 9 c: OUTBOX JUMP e d: COPYFROM 0 COPYTO 2 COPYFROM 1 COPYTO 0 COPYFROM 2 COPYTO 1 JUMP g e: f: INBOX COPYTO 0 INBOX COPYTO 1 COPYTO 2 SUB 0 JUMPN d g: h: BUMPDN 0 JUMPN b JUMPZ a COPYFROM 2 ADD 1 COPYTO 2 JUMP h
-- HUMAN RESOURCE MACHINE PROGRAM -- JUMP f a: COPYFROM 2 JUMP c b: COPYFROM 9 c: OUTBOX f: INBOX JUMPZ i COPYTO 0 INBOX JUMPZ j COPYTO 1 COPYTO 2 SUB 0 JUMPN d h: BUMPDN 0 JUMPN b JUMPZ a COPYFROM 2 ADD 1 COPYTO 2 JUMP h i: INBOX JUMP b j: JUMP b d: COPYFROM 0 COPYTO 2 COPYFROM 1 COPYTO 0 COPYFROM 2 COPYTO 1 JUMP h