📌  相关文章
📜  不使用’/’运算符的除法

📅  最后修改于: 2021-05-04 08:34:40             🧑  作者: Mango

给定两个数字,不使用’/’运算符将其除以一个。
例子 :

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

为了执行除法运算而不使用’/’运算符,我们采用了这种方法,在该方法中,我们计算从num1减去num2的成功次数或完成次数。其中num1是要除的数字,num2是我们必须除以num1的数字。

C++
// CPP program to divide a number by other
// without using / operator
#include 
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
= $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


输出 :

6