如何仅使用add运算符和堆栈来乘以两个整数

时间:2015-08-22 01:30:39

标签: language-agnostic stack

我的一个朋友把这个问题告诉了我,我一直在考虑它,但我不知道哪里开始。这个问题是可以解决的。

规则:您可以使用添加,子,条件,跳转和最多两个堆栈。

如果有人有解决方案,解释会很好。

我已经知道一种没有堆栈的解决方法。 m1m2是两个数字。

count = m1
prod = 0

Branch_equal_zero count,EXIT

LOOP:
prod = prod + m2
count = count - 1
Branch_not_equal_zero count,LOOP

EXIT:
return prod   
halt

编辑:带有堆栈的程序将比上面的程序更快。我无法弄清楚它是如何可能的。

0 个答案:

没有答案