一个计算机系统包含以下原子操作:
1. 赋值
2. +1
3. 循环(确定次数的循环)
4. 只处理正整数和 0
5. 运算不会溢出
请在该系统上实现减法
Dingding <hank.d...@gmail.com>的一个思路,供大家讨论。
首先实现自减一操作:
tmp = 0
result = 0
loop(n) {
result = tmp
tmp++
}
循环执行后result == n - 1 然后利用该操作作为原语实现任意数的减法操作(假定a>b):
result = a
loop(b) {
dec(result)
}
循环执行后 result == a - b ^ - ^ 开心生活,开心工作雅虎口碑(杭州)--吴志敏 http://babatu.blogspot.com
没有评论:
发表评论