Last updated on August 5th, 2024 at 02:15 am

Here, We see ** Divide Two Integers problem Solution**. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc., with different approaches.

*List of all LeetCode Solution*

*List of all LeetCode Solution*

## Topics

Bit-Manipulation, Math

## Level of Question

Medium

**Divide Two Integers LeetCode Solution**

## Table of Contents

**Problem Statement**

Given two integers ** dividend **and

**, divide two integers**

*divisor***without**using multiplication, division, and mod operator.

The integer division should truncate toward zero, which means losing its fractional part. For example, 8.345 would be truncated to 8, and -2.7335 would be truncated to -2.

Return *the quotient after dividing dividend by divisor.*

Example 1:Input:dividend = 10, divisor = 3Output:3Explanation:10/3 = 3.33333.. which is truncated to 3.

Example 2:Input:dividend = 7, divisor = -3Output:-2Explanation:7/-3 = -2.33333.. which is truncated to -2.

**1. Divide Two Integers Leetcode Solution C++**

class Solution { public: int divide(int dividend, int divisor) { if(dividend==INT_MIN && divisor==-1) return INT_MAX; if(dividend==INT_MIN && divisor==1) return INT_MIN; long int dd = abs(dividend), dv = abs(divisor); int res=0; while(dv<=dd) { long int sum=dv, count=1; while(sum<=dd-sum) { sum+=sum; count+=count; } res+=count; dd-=sum; } if((dividend<0&&divisor>0) || (dividend>0&&divisor<0)) return -res; return res; } };

**2. Divide Two Integers Leetcode Solution Java**

class Solution { public int divide(int dividend, int divisor) { boolean isNegative = (dividend < 0 && divisor > 0) || (dividend > 0 && divisor < 0) ? true : false; long absDividend = Math.abs((long) dividend); long absDivisor = Math.abs((long) divisor); long result = 0; while(absDividend >= absDivisor){ long tmp = absDivisor, count = 1; while(tmp <= absDividend){ tmp <<= 1; count <<= 1; } result += count >> 1; absDividend -= tmp >> 1; } return isNegative ? (int) ~result + 1 : result > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) result; } }

**3. Divide Two Integers Leetcode Solution JavaScript**

var divide = function(dividend, divisor) { if (divisor === 0) return 0; if (dividend === 0) return 0; if (dividend === -2147483648 && divisor === -1) return 2147483647; var isPositive = true; if (dividend > 0 !== divisor > 0) isPositive = false; divisor = Math.abs(divisor); dividend = Math.abs(dividend); var count = 1, result = 0, base = divisor; while (dividend >= divisor) { count = 1; base = divisor; while (base <= (dividend >> 1)) { base = base << 1; count = count << 1; } result += count; dividend -= base; } if (!isPositive) result = -result; return result; };

**4. Divide Two Integers Leetcode Solution Python**

class Solution(object): def divide(self, dividend, divisor): positive = (dividend < 0) is (divisor < 0) dividend, divisor = abs(dividend), abs(divisor) res = 0 while dividend >= divisor: temp, i = divisor, 1 while dividend >= temp: dividend -= temp res += i i <<= 1 temp <<= 1 if not positive: res = -res return min(max(-2147483648, res), 2147483647)