小赖子的英国生活和资讯

逻辑测试系列之三 – SUBT

阅读 桌面完整版

@justyy 的逻辑测试系列:

上次添加了 DECR 函数来把 一个变量减一, 我们这次来定义一个 SUBT 函数来实现 把 减法运算, 也就是 X-=Y

如果我们用 C++ 来实现, 大概是这样的:

1
2
3
4
5
void subt(unsigned int &x, unsigned int y) {
  for (int i = 0; i < y; i ++) {
     x --;
  }
}
void subt(unsigned int &x, unsigned int y) {
  for (int i = 0; i < y; i ++) {
     x --;
  }
}

这里 x 变量是引用, 也就是直接在函数里能修改其值, 退出函数后x能有变化. 我们翻译成这门语言是:

SUBT(X, Y) {
LOOP(Y) {
DECR(X) // DECR 在上期已经定义过了, 这里拿来一用.
}
}
复杂的函数是一点一点建立起来的, 虽然这门语言只有 INCR, ZERO, ASGN, LOOP 这四个关键字, 但是我们可以通过组合实现最基本的功能, 进而完成更复杂的功能, 让我们拭目以待.

英文: Logic Tests Series (3) – SUBT

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version