我正在尝试设计一种算法来模拟加法乘法。输入必须是,可以是零,正或负。
if "a" & "b" are two numbers
than
if (a)(b)=ab or 2*4=8
than a+a+a+a = ab or 2+2+2+2 =8
我有一个问题要解决,但我还想不通。我设计了以下算法/伪代码:
- 如果 C 是我们必须在添加后存储的地方并且最初 C=0
- 将 C 添加到 "a" 中并存储在 C (0+2=2)
- 从“b”中减去 1 并存储在“b”中。(4-1=3)
- 如果“b = 0”停止。否则转到步骤 2。
虽然此算法在 时有效b > 0
,但如果b
等于 -1 或零则失败。该算法不断运行而从未停止。
如何修复我的算法,使其适用于负数?