Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Division Without Operator
00:00
5 left

Division Without Operator

MediumPython

Problem

The Weedmaps backend may need a small arithmetic utility in a restricted execution environment. Implement integer division without using the division operator or equivalent built-in operations.

Given two integers dividend and divisor, return the quotient truncated toward zero. You may use addition, subtraction, comparisons, and bit-shift operators, but do not use /, //, %, divmod, or floating-point arithmetic.

The divisor is guaranteed to be nonzero. The implementation should avoid subtracting the divisor one time per quotient unit, since that can be too slow for large values. Use repeated doubling or another logarithmic technique.

Formal Specification

  • Input: Two integers, dividend and divisor.
  • Output: An integer equal to dividend / divisor, truncated toward zero.
  • Preserve the correct sign when exactly one input is negative.

Constraints

  • -2^31 <= dividend <= 2^31 - 1
  • -2^31 <= divisor <= 2^31 - 1
  • divisor != 0
  • Do not use /, //, %, divmod, or floating-point arithmetic

Function Signature

def divide_integers(dividend, divisor):
Interviewer

Your question is Division Without Operator. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.