Dados dos números ‘num’ y ‘divisor’, encuentre el resto cuando ‘num’ se divide por ‘divisor’. No se permite el uso del operador módulo o %.
Ejemplos:
Input: num = 100, divisor = 7 Output: 2 Input: num = 30, divisor = 9 Output: 3
Método 1 :
C++
// C++ program to find remainder without using // modulo operator #include <iostream> using namespace std; // This function returns remainder of num/divisor // without using % (modulo) operator int getRemainder(int num, int divisor) { return (num - divisor * (num / divisor)); } // Driver program to test above functions int main() { // cout << 100 %0; cout << getRemainder(100, 7); return 0; }
Java
// Java program to find remainder without // using modulo operator import java.io.*; class GFG { // This function returns remainder of // num/divisor without using % (modulo) // operator static int getRemainder(int num, int divisor) { return (num - divisor * (num / divisor)); } // Driver program to test above functions public static void main(String[] args) { // print 100 % 0; System.out.println(getRemainder(100, 7)); } } // This code is contributed by Sam007.
Python3
# Python program to find remainder # without using modulo operator # This function returns remainder of # num / divisor without using % (modulo) # operator def getRemainder(num, divisor): return (num - divisor * (num // divisor)) # Driver program to test above functions num = 100 divisor = 7 print(getRemainder(num, divisor)) # This code is contributed by Danish Raza
C#
// C# program to find remainder without using // modulo operator using System; class GFG { // This function returns remainder of // num/divisor without using % // (modulo) operator static int getRemainder(int num, int divisor) { return (num - divisor * (num / divisor)); } // Driver program to test above functions public static void Main() { // print 100 % 0; Console.Write(getRemainder(100, 7)); } } // This code is contributed by Sam007.
PHP
<?php // PHP program to find remainder // without using modulo operator // This function returns remainder // of num/divisor without using // % (modulo) operator function getRemainder($num, $divisor) { $t = ($num - $divisor * (int)($num / $divisor)); return $t; } // Driver Code echo getRemainder(100, 7); // This code is contributed by ajit ?>
Javascript
<script> // Javascript program to find remainder // without using modulo operator // This function returns remainder // of num/divisor without using // % (modulo) operator function getRemainder(num, divisor) { let t = (num - divisor * parseInt(num / divisor)); return t; } // Driver Code document.write(getRemainder(100, 7)); // This code is contributed by _saurabh_jaiswal </script>
Producción :
2
Complejidad de tiempo: O(1)
Espacio auxiliar: O(1)
Este método es aportado por Bishal Kumar Dubey
Método 2
La idea es simple, ejecutamos un ciclo para encontrar el mayor múltiplo de ‘divisor’ que es menor o igual que ‘num’. Una vez que encontramos dicho múltiplo, restamos el múltiplo de ‘num’ para encontrar el divisor.
A continuación se muestra la implementación de la idea anterior. Gracias a eleventyone por sugerir esta solución en un comentario.
C++
// C++ program to find remainder without using modulo operator #include <iostream> using namespace std; // This function returns remainder of num/divisor without // using % (modulo) operator int getRemainder(int num, int divisor) { // Handle divisor equals to 0 case if (divisor == 0) { cout << "Error: divisor can't be zero \n"; return -1; } // Handle negative values if (divisor < 0) divisor = -divisor; if (num < 0) num = -num; // Find the largest product of 'divisor' that is smaller // than or equal to 'num' int i = 1; int product = 0; while (product <= num) { product = divisor * i; i++; } // return remainder return num - (product - divisor); } // Driver program to test above functions int main() { // cout << 100 %0; cout << getRemainder(100, 7); return 0; }
Java
// Java program to find remainder without // using modulo operator import java.io.*; class GFG { // This function returns remainder // of num/divisor without using % // (modulo) operator static int getRemainder(int num, int divisor) { // Handle divisor equals to 0 case if (divisor == 0) { System.out.println("Error: divisor " + "can't be zero \n"); return -1; } // Handle negative values if (divisor < 0) divisor = -divisor; if (num < 0) num = -num; // Find the largest product of 'divisor' // that is smaller than or equal to 'num' int i = 1; int product = 0; while (product <= num) { product = divisor * i; i++; } // return remainder return num - (product - divisor); } // Driver program to test above functions public static void main(String[] args) { // print 100 % 0; System.out.println(getRemainder(100, 7)); } } // This code is contributed by Sam007.
Python3
# Python program to find remainder without # using modulo operator. This function # returns remainder of num / divisor without # using % (modulo) operator def getRemainder(num, divisor): # Handle divisor equals to 0 case if (divisor == 0): return False # Handle negative values if (divisor < 0): divisor = -divisor if (num < 0): num = -num # Find the largest product of 'divisor' # that is smaller than or equal to 'num' i = 1 product = 0 while (product <= num): product = divisor * i i += 1 # return remainder return num - (product - divisor) # Driver program to test above functions num = 100 divisor = 7 print(getRemainder(num, divisor)) # This code is contributed by Danish Raza
C#
// C# program to find remainder without // using modulo operator using System; class GFG { // This function returns remainder // of num/divisor without using % // (modulo) operator static int getRemainder(int num, int divisor) { // Handle divisor equals to 0 case if (divisor == 0) { Console.WriteLine("Error: divisor " + "can't be zero \n"); return -1; } // Handle negative values if (divisor < 0) divisor = -divisor; if (num < 0) num = -num; // Find the largest product of 'divisor' // that is smaller than or equal to 'num' int i = 1; int product = 0; while (product <= num) { product = divisor * i; i++; } // return remainder return num - (product - divisor); } // Driver program to test above functions public static void Main() { // print 100 %0; Console.Write(getRemainder(100, 7)); } } // This code is contributed by Sam007.
PHP
<?php // php program to find remainder without // using modulo operator // This function returns remainder of // num/divisor without using % (modulo) // operator function getRemainder($num, $divisor) { // Handle divisor equals to 0 case if ($divisor == 0) { echo "Error: divisor can't be zero \n"; return -1; } // Handle negative values if ($divisor < 0) $divisor = -$divisor; if ($num < 0) $num = -$num; // Find the largest product of 'divisor' // that is smaller than or equal to 'num' $i = 1; $product = 0; while ($product <= $num) { $product = $divisor * $i; $i++; } // return remainder return $num - ($product - $divisor); } // Driver program to test above functions echo getRemainder(100, 7); // This code is contributed by ajit. ?>
Javascript
// Javascript program to find remainder without // using modulo operator // This function returns remainder of // num/divisor without using % (modulo) // operator function getRemainder(num, divisor) { // Handle divisor equals to 0 case if (divisor == 0) { document.write("Error: divisor can't be zero <br>"); return -1; } // Handle negative values if (divisor < 0) divisor = -divisor; if (num < 0) num = -num; // Find the largest product of 'divisor' // that is smaller than or equal to 'num' let i = 1; let product = 0; while (product <= num) { product = divisor * i; i++; } // return remainder return num - (product - divisor); } // Driver program to test above functions document.write(getRemainder(100, 7)); // This code is contributed by _saurabh_jaiswal
Producción :
2
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Chirag. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Método 3
Sigue restando el denominador del numerador hasta que el numerador sea menor que el denominador.
C++
// C++ implementation of the approach #include <iostream> using namespace std; // Function to return num % divisor // without using % (modulo) operator int getRemainder(int num, int divisor) { // While divisor is smaller // than n, keep subtracting // it from num while (num >= divisor) num -= divisor; return num; } // Driver code int main() { int num = 100, divisor = 7; cout << getRemainder(num, divisor); return 0; }
Java
// A Java implementation of the approach import java.util.*; class GFG { // Function to return num % divisor // without using % (modulo) operator static int getRemainder(int num, int divisor) { // While divisor is smaller // than n, keep subtracting // it from num while (num >= divisor) num -= divisor; return num; } // Driver code public static void main(String[] args) { int num = 100, divisor = 7; System.out.println(getRemainder(num, divisor)); } } // This code is contributed by Princi Singh
Python3
# Python3 implementation of the approach # Function to return num % divisor # without using % (modulo) operator def getRemainder(num, divisor): # While divisor is smaller # than n, keep subtracting # it from num while (num >= divisor): num -= divisor; return num; # Driver code if __name__ == '__main__': num = 100; divisor = 7; print(getRemainder(num, divisor)); # This code is contributed by Princi Singh
C#
// C# implementation of the approach using System; class GFG { // Function to return num % divisor // without using % (modulo) operator static int getRemainder(int num, int divisor) { // While divisor is smaller // than n, keep subtracting // it from num while (num >= divisor) num -= divisor; return num; } // Driver code public static void Main(String[] args) { int num = 100, divisor = 7; Console.WriteLine(getRemainder(num, divisor)); } } // This code is contributed by PrinciRaj1992
Javascript
// Javascript implementation of the approach // Function to return num % divisor // without using % (modulo) operator function getRemainder(num, divisor) { // While divisor is smaller // than n, keep subtracting // it from num while (num >= divisor) num -= divisor; return num; } // Driver code let num = 100, divisor = 7; document.write(getRemainder(num, divisor)); // This code is contributed by _saurabh_jaiswal
Producción :
2
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA