Open In App

Division without using ‘/’ operator

Improve
Improve
Like Article
Like
Save
Share
Report

Given two numbers, divide one from other without using ‘/’ operator. 
Examples : 

Input : num1 = 13, num2 = 2
Output : 6

Input : num1 = 14, num2 = -2
Output : -7

Input : num1 = -11, num2 = 3
Output : -3

Input : num1 = 10, num2 = 10
Output : 1

Input : num1 = -6, num2 = -2
Output : 3

Input : num1 = 0, num2 = 5
Output : 0

In order to perform division operation without using ‘/’ operator we followed the approach, in which we count the number of successful or complete number of subtraction of num2 from num1. Where num1 is the number to be divided and num2 is the number from which we have to divide num1.
 

C++




// CPP program to divide a number by other
// without using / operator
#include <bits/stdc++.h>
using namespace std;
  
// Function to find division without using 
// '/' operator
int division(int num1, int num2)
{
   if (num1 == 0)
       return 0;
   if (num2 == 0)
     return INT_MAX;
  
   bool negResult = false;
  
   // Handling negative numbers
   if (num1 < 0)
   {
       num1 = -num1 ;
       if (num2 < 0)
           num2 = - num2 ; 
       else
           negResult = true;
   }
   else if (num2 < 0)
   {
       num2 = - num2 ;
       negResult = true
   }
  
   // if num1 is greater than equal to num2
   // subtract num2 from num1 and increase
   // quotient by one.
   int quotient = 0;
   while (num1 >= num2)
   {
       num1 = num1 - num2 ;
       quotient++ ;
   }
  
   // checking if neg equals to 1 then making
   // quotient negative 
   if (negResult)
        quotient = - quotient ;
   return quotient ;
}
  
// Driver program
int main()
{
    int num1 = 13, num2 = 2 ;
    cout << division(num1, num2); ;
    return 0;
}


Java




// Java program to divide a number by other
// without using / operator
import java.io.*;
  
class GFG 
{
    // Function to find division without using 
    // '/' operator
    static int division(int num1, int num2)
    {
        if (num1 == 0)
            return 0;
        if (num2 == 0)
            return Integer.MAX_VALUE;
          
        boolean negResult = false;
          
        // Handling negative numbers
        if (num1 < 0)
        {
            num1 = -num1 ;
            if (num2 < 0)
                num2 = - num2 ; 
            else
                negResult = true;
        }
        else if (num2 < 0)
        {
            num2 = - num2 ;
            negResult = true
        }
          
        // if num1 is greater than equal to num2
        // subtract num2 from num1 and increase
        // quotient by one.
        int quotient = 0;
        while (num1 >= num2)
        {
            num1 = num1 - num2 ;
            quotient++ ;
        }
          
        // checking if neg equals to 1 then making
        // quotient negative 
        if (negResult)
                quotient = - quotient ;
        return quotient ;
    }
      
    // Driver program
    public static void main (String[] args) 
    {
        int num1 = 13, num2 = 2 ;
        System.out.println( division(num1, num2)); 
              
    }
}
  
// This code is contributed by vt_m.


Python3




# Python3 program to divide a number 
# by other without using / operator
  
# Function to find division without  
# using '/' operator
def division(num1, num2):
      
    if (num1 == 0): return 0
    if (num2 == 0): return INT_MAX
      
    negResult = 0
      
    # Handling negative numbers
    if (num1 < 0):
        num1 = - num1
          
        if (num2 < 0):
            num2 = - num2 
        else:
            negResult = true
                  
    elif (num2 < 0):
        num2 = - num2 
        negResult = true
      
    # if num1 is greater than equal to num2
    # subtract num2 from num1 and increase
    # quotient by one.
    quotient = 0
  
    while (num1 >= num2):
        num1 = num1 - num2 
        quotient += 1
      
    # checking if neg equals to 1 then 
    # making quotient negative 
    if (negResult):
            quotient = - quotient 
    return quotient 
  
# Driver program
num1 = 13; num2 = 2
print(division(num1, num2))
  
# This code is contributed by Ajit.


C#




// C# program to divide a number by other
// without using / operator
using System;
  
class GFG 
{
    // Function to find division without 
    // using '/' operator
    static int division(int num1, int num2)
    {
        if (num1 == 0)
            return 0;
        if (num2 == 0)
            return int.MaxValue;
          
        bool negResult = false;
          
        // Handling negative numbers
        if (num1 < 0)
        {
            num1 = -num1 ;
            if (num2 < 0)
                num2 = - num2 ; 
            else
                negResult = true;
        }
        else if (num2 < 0)
        {
            num2 = - num2 ;
            negResult = true
        }
          
        // if num1 is greater than equal to num2
        // subtract num2 from num1 and increase
        // quotient by one.
        int quotient = 0;
        while (num1 >= num2)
        {
            num1 = num1 - num2 ;
            quotient++ ;
        }
          
        // checking if neg equals to 1 then making
        // quotient negative 
        if (negResult)
                quotient = - quotient ;
        return quotient ;
    }
      
    // Driver Code
    public static void Main () 
    {
        int num1 = 13, num2 = 2 ;
        Console.Write( division(num1, num2)); 
              
    }
}
  
// This code is contributed by nitin mittal.


PHP




<?php
// CPP program to divide a number by other
// without using / operator
  
// Function to find division without using 
// '/' operator
  
function division($num1, $num2)
{
    if ($num1 == 0)
        return 0;
          
    if ($num2 == 0)
        return INT_MAX;
      
    $negResult = false;
      
    // Handling negative numbers
    if ($num1 < 0)
    {
        $num1 = -$num1 ;
          
        if ($num2 < 0)
            $num2 = - $num2
        else
            $negResult = true;
    }
    else if ($num2 < 0)
    {
        $num2 = - $num2 ;
        $negResult = true; 
    }
      
    // if num1 is greater than equal to num2
    // subtract num2 from num1 and increase
    // quotient by one.
    $quotient = 0;
    while ($num1 >= $num2)
    {
        $num1 = $num1 - $num2 ;
        $quotient++ ;
    }
      
    // checking if neg equals to 1 then making
    // quotient negative 
    if ($negResult)
            $quotient = - $quotient ;
    return $quotient ;
}
  
// Driver program
$num1 = 13; $num2 = 2 ;
echo division($num1, $num2) ;
      
// This code is contributed by ajit
?>


Javascript




<script>
// Javascript program to divide a number by other
// without using / operator
  
    // Function to find division without using
    // '/' operator
    function division( num1, num2)
    {
        if (num1 == 0)
            return 0;
        if (num2 == 0)
            return Number.MAX_VALUE;;
        let negResult = false;
  
        // Handling negative numbers
        if (num1 < 0) 
        {
            num1 = -num1;
            if (num2 < 0)
                num2 = -num2;
            else
                negResult = true;
        
        else if (num2 < 0) 
        {
            num2 = -num2;
            negResult = true;
        }
  
        // if num1 is greater than equal to num2
        // subtract num2 from num1 and increase
        // quotient by one.
        let quotient = 0;
        while (num1 >= num2)
        {
            num1 = num1 - num2;
            quotient++;
        }
  
        // checking if neg equals to 1 then making
        // quotient negative
        if (negResult)
            quotient = -quotient;
        return quotient;
    }
  
    // Driver program     
    let num1 = 13, num2 = 2;
    document.write(division(num1, num2));
  
// This code is contributed by gauravrajput1 
</script>


Output

6

Time Complexity: O(num1/num2)
Auxiliary Space: O(1), As constant extra space is used.
 



Last Updated : 20 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads