0

ここでLittle Man Computerと一緒に仕事をしていて、私を悩ませている問題に遭遇しました。if などがないので、偶数から引き算するときに奇数が負数になるのを止めるのは難しいと思います。たとえば、ループで 10 から 3 を取り、0 で分岐します。しかし、それがゼロになることはありません。たとえば、ループで 10 から 3 を引くと、10、7、4、1、-2 になります。しかし、私はそれを1で止めたいので、マイナスにならず、この問題を克服します。

これは私がこれまでに持っているもので、偶数と偶数に対してのみ機能します:

INP
STA DEC
INP
LOOP SUB DEC
OUT
BRZ QUIT
BRA LOOP
QUIT HLT
DEC DAT

(最初に、2 番目の入力を変数として宣言するのは良い考えだと思いますよね? それともそうでない?)

お役に立てば幸いです。そして、これに対する恒久的な解決策を考え出してください。

4

3 に答える 3

1

私はこれを後悔することを知っていますが、これはかなり簡単に思えるので、テストすることができずにこれを試みます:-)

INP
STA DEC
INP
LOOP SUB DEC
BRP OUTPUT
ADD DEC             <-- we went negative, so add back once
HLT
OUTPUT OUT
BRA LOOP
DEC DAT
于 2012-02-10T22:05:39.713 に答える
-1
INP
STA DEC
INP
LOOP SUB DEC
OUT
BRP LOOP 
HLT
DEC DAT 
于 2014-02-10T12:05:41.963 に答える
-1
INP
STA first
INP
LOOP SUB first
BRP yesrepeat
ADD one
HLT
yesrepeat OUT
BRA LOOP
first DAT
one dat 001
于 2012-12-23T21:48:29.923 に答える