相关疑难解决方法(0)

使用增量,循环,赋值,零分割操作

我们只允许使用以下操作:

incr(x) - 调用此函数后,它会将x + 1分配给x

assign(x, y) - 此函数将y的值赋给x(x = y)

zero(x) - 此函数将0分配给x(x = 0)

loop X { } - 括号内的操作将执行X次

我该如何实施除法运算?

algorithm math logic

7
推荐指数
1
解决办法
670
查看次数

仅使用递增,循环,赋值,零的关系运算

这是一个后续问题:仅使用递增,循环,赋值,零的减法运算

我们只允许使用以下操作:

  1. incr(x) - 一旦调用此函数,它将x + 1分配给x
  2. assign(x,y) - 此函数将y的值赋给x(x = y)
  3. 零(x) - 此函数将0分配给x(x = 0)
  4. 循环X {} - 括号内的操作将执行X次

例如,添加可以如下实现:

add(x, y) {
    loop x
        { y = incr(y) }
    return y
}
Run Code Online (Sandbox Code Playgroud)

如何使用这四个操作实现关系运算符?关系操作是:

  1. eq(x,y) - x是否等于y?
  2. lt(x,y) - x小于y吗?
  3. gt(x,y) - x是否大于y?

我们也有他们的对立面:

  1. ne(x,y) - x不等于y吗?
  2. gte(x,y) - x是否大于或等于y?
  3. lte(x,y) - x是否小于或等于y?

任何帮助将不胜感激.

algorithm math logic equality lambda-calculus

6
推荐指数
1
解决办法
909
查看次数

标签 统计

algorithm ×2

logic ×2

math ×2

equality ×1

lambda-calculus ×1