Multiplier un nombre par 10 sans utiliser l'opérateur de multiplication

Étant donné un nombre, la tâche consiste à le multiplier par 10 sans utiliser d'opérateur de multiplication ?
Exemples : 
 

Input : n = 50 Output: 500 // multiplication of 50 with 10 is = 500 Input : n = 16 Output: 160 // multiplication of 16 with 10 is = 160 


 


UN solution simple car ce problème consiste à exécuter une boucle et à ajouter n avec lui-même 10 fois. Ici, nous devons effectuer 10 opérations. 

C++
   // 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)   

Sortir
500 

Complexité temporelle : O(1)

Espace auxiliaire : O(1)


UN meilleure solution est d'utiliser la manipulation de bits. Nous devons multiplier n par 10, c'est-à-dire ; n*10 nous pouvons écrire ceci comme n*(2+8) = n*2 + n*8 et comme nous ne sommes pas autorisés à utiliser l'opérateur de multiplication, nous pouvons le faire en utilisant l'opérateur de décalage au niveau du bit vers la gauche. Donc n*10 = n < <1 + n < <3.
 

C++
   // 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>   

Sortir: 

500 

Complexité temporelle : O(1)

Espace auxiliaire : O(1)