Dividing Without Divide
June 25, 2019
Today’s task comes from a student programmer:
Given a numerator and divisor of unsigned integers, compute the quotient and remainder. You cannot use divide, cannot use mod, and you want to optimize for speed.
After a while, the student programmer looked up the official solution:
def divide_problem(num, div):
quotient = 1
while num - (quotient * div) >= div:
print(num - (quotient * div), "loop")
quotient += 1
remainder = num - (quotient * div)
return quotient, remainder
Your task is to comment on the official solution and write a better one. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.