我在hackerrank上研究这个问题
给定一个无符号整数的分子和除数,打印出商和余数。你不能使用divide,不能使用mod,你想优化速度
我最初的想法是(在 python 中)
def divide_problem(num, div):
quotient = 1
while (div * quotient) < num:
quotient += 1
remainder = (div*quotient) - num
print(quotient, "quotient")
print(remainder, 'remainder')
print(divide_problem(31, 5))
但是通过这种方法,我得到 7 作为商,4 作为余数。我能够在网上找到正确的解决方案,即:
def divide_problem(num, div):
quotient = 1
while num - (quotient * div) >= div:
print(num - (quotient * div), "loop")
quotient += 1
remainder = num - (quotient * div)
print(quotient, "quotient")
print(remainder, 'remainder')
print(divide_problem(31, 5))
我无法找出 while 循环的条件语句
while num - (quotient * div) >= div:
提出该声明的思考过程是什么?
慕森王
郎朗坤
茅侃侃
相关分类