logo

Умножете число с 10 без да използвате оператор за умножение

Дадено е число, задачата е да го умножите с 10 без да използвате оператор за умножение?
Примери: 
 

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


 

четене от csv файл в java


А просто решение за този проблем е да стартирате цикъл и да добавите n със себе си 10 пъти. Тук трябва да извършим 10 операции. 



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) 

Изход
500

Времева сложност: O(1)

Помощно пространство: O(1)


А по-добро решение е да се използва битова манипулация. Трябва да умножим n с 10, т.е. n*10 можем да запишем това като n*(2+8) = n*2 + n*8 и тъй като не ни е разрешено да използваме оператор за умножение, можем да направим това с помощта на побитов оператор за ляво изместване. Така че 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> 

Изход: 

500

Времева сложност: O(1)

Помощно пространство: O(1)

инстанцирана java