可以从这四个有限的功能实现减量功能吗?

时间:2018-03-27 16:04:45

标签: algorithm math assembly

如何仅使用:

实现(如果可能)递减函数dec(x){x--}
  • increment(x)[x ++]
  • assign(x,y)[x = y]
  • 零(x)[x = 0]
  • loop(x)[运行循环内的任何内容x次]

我不能使用for / while循环或基本运算符,例如+,-,/ - 只能使用上述四个函数。

1 个答案:

答案 0 :(得分:5)

是的:只写一个带有“一个错误”的循环。 从1到x计数,但保存基于零的循环索引的之前的值。

dec(x):
    zero(y)
    loop(x) {
        assign(z, y)
        increment(y)
    }