可以使用二分法来实现,首先计算出两个数的商,然后通过二分法逐步逼近该商,最终得到它所在的范围。
下面是使用 Python 语言实现的示例代码:
def divide(dividend, divisor):
if divisor == 0:
return None
quotient = dividend // divisor
remainder = dividend % divisor
low = 0
high = divisor - 1
while low <= high:
mid = (low + high) // 2
if (mid + 1) * quotient <= dividend and (mid + 2) * quotient > dividend:
return (mid + 1, quotient * (mid + 1))
elif (mid + 1) * quotient > dividend:
high = mid - 1
else:
low = mid + 1
return None
该函数接受两个整数作为输入,返回一个元组,其第一个元素为商所在范围的下限,第二个元素为商所在范围的上限。
例如,调用 divide(20, 3)
将返回 (6, 7)
,表示 20 除以 3 的商在 6 到 7 之间。
上一篇:不使用库函数找到字符串长度