Multiplicar un número por 10 sin usar el operador de multiplicación
Dado un número, ¿la tarea es multiplicarlo por 10 sin usar el operador de multiplicación?
Ejemplos:
Input : n = 50 Output: 500 // multiplication of 50 with 10 is = 500 Input : n = 16 Output: 160 // multiplication of 16 with 10 is = 160
A solución sencilla Para este problema es ejecutar un bucle y sumar n consigo mismo 10 veces. Aquí necesitamos realizar 10 operaciones.
// C++ program to multiply a number with 10 // without using multiplication operator #include using namespace std ; // Function to find multiplication of n with // 10 without using multiplication operator int multiplyTen ( int n ) { int sum = 0 ; // Running a loop and add n with itself 10 times for ( int i = 0 ; i < 10 ; i ++ ) { sum = sum + n ; } return sum ; } // Driver program to run the case int main () { int n = 50 ; cout < < multiplyTen ( n ); return 0 ; }
Java // Java program to multiply a number with 10 // without using multiplication operator import java.util.* ; public class GFG { // Function to find multiplication of n with // 10 without using multiplication operator public static int multiplyTen ( int n ) { int sum = 0 ; // Running a loop and add n with itself 10 times for ( int i = 0 ; i < 10 ; i ++ ) { sum = sum + n ; } return sum ; } // Driver program to run the case public static void main ( String [] args ) { int n = 50 ; System . out . println ( multiplyTen ( n )); } } // This code is contributed by Prasad Kandekar(prasad264)
Python3 # python program to multiply a number with 10 # without using multiplication operator # Function to find multiplication of n with # 10 without using multiplication operator def multiplyTen ( n ): sum = 0 # Running a loop and add n with itself 10 times for i in range ( 10 ): sum += n return sum # Driver code n = 50 print ( multiplyTen ( n )) # This code is contributed by Prasad Kandekar(prasad264)
C# // C# program to multiply a number with 10 // without using multiplication operator using System ; public class GFG { // Function to find multiplication of n with // 10 without using multiplication operator static int MultiplyTen ( int n ) { int sum = 0 ; // Running a loop and add n with itself 10 times for ( int i = 0 ; i < 10 ; i ++ ) { sum += n ; } return sum ; } // Driver program to run the case static void Main ( string [] args ) { int n = 50 ; Console . WriteLine ( MultiplyTen ( n )); } } // This code is contributed by Prasad Kandekar(prasad264)
JavaScript // Javascript program to multiply a number with 10 // without using multiplication operator // Function to find multiplication of n with // 10 without using multiplication operator function multiplyTen ( n ) { let sum = 0 ; // Running a loop and add n with itself 10 times for ( let i = 0 ; i < 10 ; i ++ ) { sum += n ; } return sum ; } // Driver code let n = 50 ; console . log ( multiplyTen ( n )); // This code is contributed by Prasad Kandekar(prasad264)
Producción
500
Complejidad del tiempo: O(1)
Espacio auxiliar: O(1)
A mejor solución es utilizar manipulación de bits. Tenemos que multiplicar n por 10, es decir; n*10 podemos escribir esto como norte*(2+8) = norte*2 + norte*8 y como no podemos usar el operador de multiplicación, podemos hacerlo usando el operador bit a bit de desplazamiento a la izquierda. Entonces n*10 = n < <1 + n < <3.
// C++ program to multiply a number with 10 using // bitwise operators #include using namespace std ; // Function to find multiplication of n with // 10 without using multiplication operator int multiplyTen ( int n ) { return ( n < < 1 ) + ( n < < 3 ); } // Driver program to run the case int main () { int n = 50 ; cout < < multiplyTen ( n ); return 0 ; }
Java // Java Code to Multiply a number with 10 // without using multiplication operator import java.util.* ; class GFG { // Function to find multiplication of n // with 10 without using multiplication // operator public static int multiplyTen ( int n ) { return ( n < < 1 ) + ( n < < 3 ); } /* Driver program to test above function */ public static void main ( String [] args ) { int n = 50 ; System . out . println ( multiplyTen ( n )); } } // This code is contributed by Arnav Kr. Mandal.
Python 3 # Python 3 program to multiply a # number with 10 using bitwise # operators # Function to find multiplication # of n with 10 without using # multiplication operator def multiplyTen ( n ): return ( n < < 1 ) + ( n < < 3 ) # Driver program to run the case n = 50 print ( multiplyTen ( n )) # This code is contributed by # Smitha
C# // C# Code to Multiply a number with 10 // without using multiplication operator using System ; class GFG { // Function to find multiplication of n // with 10 without using multiplication // operator public static int multiplyTen ( int n ) { return ( n < < 1 ) + ( n < < 3 ); } // Driver Code public static void Main () { int n = 50 ; Console . Write ( multiplyTen ( n )); } } // This code is contributed by Nitin Mittal.
PHP // PHP program to multiply a // number with 10 using // bitwise operators // Function to find multiplication // of n with 10 without using // multiplication operator function multiplyTen ( $n ) { return ( $n < < 1 ) + ( $n < < 3 ); } // Driver Code $n = 50 ; echo multiplyTen ( $n ); // This code is contributed by nitin mittal. ?>
JavaScript < script > // JavaScript program to multiply a number with 10 using // bitwise operators // Function to find multiplication of n with // 10 without using multiplication operator function multiplyTen ( n ) { return ( n < < 1 ) + ( n < < 3 ); } // Driver program to run the case let n = 50 ; document . write ( multiplyTen ( n )); // This code is contributed by Surbhi Tyagi. < /script>
Producción:
500
Complejidad del tiempo: O(1)
Espacio auxiliar: O(1)