伪代码:在没有比较运算符的情况下实现除法
Pseudocode: Implement division without Comparison Operators
我遇到了一个不使用 divide 和 Comparison Operators 例如 <, > == 等来实现除法的问题。此外,不允许按位操作。我可以使用循环、子、添加、...
有一个条件我觉得很重要:没有负值,过程中产生的负值被认为是零。我认为没有这个条件是不可能实现的。
假设没有负值。只使用 assign, loop, increment, sub, add.
Div(A, B) {
temp = 1;
result = -1;
loop(A) {
temp = 0;
increment(result)
A = sub(A, B)
}
return add(result, temp);
}
我遇到了一个不使用 divide 和 Comparison Operators 例如 <, > == 等来实现除法的问题。此外,不允许按位操作。我可以使用循环、子、添加、...
有一个条件我觉得很重要:没有负值,过程中产生的负值被认为是零。我认为没有这个条件是不可能实现的。
假设没有负值。只使用 assign, loop, increment, sub, add.
Div(A, B) {
temp = 1;
result = -1;
loop(A) {
temp = 0;
increment(result)
A = sub(A, B)
}
return add(result, temp);
}