Division without using ‘/’ operator

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 substraction 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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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.

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>

chevron_right



Output :

6


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : nitin mittal, jit_t



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.