# Multiply the given number by 2 such that it is divisible by 10

• Difficulty Level : Basic
• Last Updated : 21 Jul, 2022

Given a number, the only operation allowed is to multiply the number by 2. Calculate the minimum number of operations to make the number divisible by 10.
NOTE: If it is not possible to convert then print -1.
Examples:

Input: 10
Output:
As the given number is itself divisible by 10,
Input:
Output: -1
As by multiplying with 2, given no. can’t be
converted into a number that is divisible by 10,

Approach: Any given number is divisible by 10 only if the last digit of the number is 0. For this problem, extract the last digit of the input number and check it in the following ways :
1) If the last digit is 0 then it is already divisible by 10 , so the minimum number of steps is 0.
2) If the last digit is 5 then multiplying it by 2 one time will make it divisible by 10, so the minimum number of steps is 1.
3) If the last digit is an even or odd number (apart from 0 and 5) then multiplying it by 2 any number of times will only produce even number so we can never make it divisible by 10. Therefore the number of steps is -1.

## C++

 `// C++ code for finding``// number of operations``#include ``using` `namespace` `std;` `int` `multiplyBy2(``int` `n)``{``    ``int` `rem, value;` `    ``// Find the last digit or remainder``    ``rem = n % 10;``    ``switch` `(rem) {` `    ``// If the last digit is 0``    ``case` `0:``        ``value = 0;``        ``break``;` `    ``// If the last digit is 5``    ``case` `5:``        ``value = 1;``        ``break``;` `    ``// If last digit is other``    ``// than 0 and 5.``    ``default``:``        ``value = -1;``    ``}` `    ``return` `value;``}` `// Driver code``int` `main()``{` `    ``int` `n = 28;``    ``cout << multiplyBy2(n) << endl;` `    ``n = 255;``    ``cout << multiplyBy2(n) << endl;` `  ``return` `0;``}`

## Java

 `// JAVA code for finding``// number of operations``import` `java.io.*;` `class` `GFG``{``    ``static` `int` `multiplyBy2(``int` `n)``{``    ``int` `rem, value;` `    ``// Find the last digit``    ``// or remainder``    ``rem = n % ``10``;``    ``switch` `(rem)``    ``{` `    ``// If the last digit is 0``    ``case` `0``:``        ``value = ``0``;``        ``break``;` `    ``// If the last digit is 5``    ``case` `5``:``        ``value = ``1``;``        ``break``;` `    ``// If last digit is other``    ``// than 0 and 5.``    ``default``:``        ``value = -``1``;``    ``}` `    ``return` `value;``}` `// Driver code``public` `static` `void` `main (String[] args)``{``    ``int` `n = ``28``;``    ``System.out.println(multiplyBy2(n));` `    ``n = ``255``;``    ``System.out.println(multiplyBy2(n));``}``}` `// This code is contributed``// by shiv_bhakt.`

## Python3

 `# Python3 code for finding number``# of operations``def` `dig(argu):``    ``switcher ``=` `{``        ``0``: ``0``,``        ``5``: ``1``,``    ``}``    ``return` `switcher.get(argu, ``-``1``)``    ` `def` `multiplyBy2(n):` `    ``# Find the last digit or remainder``    ``rem ``=` `n ``%` `10``;``    ``return` `dig(rem);` `# Driver code``n ``=` `28``;``print``(multiplyBy2(n));` `n ``=` `255``;``print``(multiplyBy2(n));``        ` `# This code is contributed by mits`

## C#

 `// C# code for finding``// number of operations``using` `System;` `class` `GFG``{``    ``static` `int` `multiplyBy2(``int` `n)``    ``{``    ``int` `rem, value;` `    ``// Find the last digit``    ``// or remainder``    ``rem = n % 10;``    ``switch` `(rem)``    ``{` `    ``// If the last``    ``// digit is 0``    ``case` `0:``        ``value = 0;``        ``break``;` `    ``// If the last``    ``// digit is 5``    ``case` `5:``        ``value = 1;``        ``break``;` `    ``// If last digit is``    ``// other than 0 and 5.``    ``default``:``        ``value = -1;``        ``break``;``    ``}` `    ``return` `value;``}` `// Driver code``public` `static` `void` `Main ()``{``    ``int` `n = 28;``    ``Console.WriteLine(multiplyBy2(n));` `    ``n = 255;``    ``Console.WriteLine(multiplyBy2(n));``}``}` `// This code is contributed``// by shiv_bhakt.`

## PHP

 ``

## Javascript

 ``

Output:

```-1
1```

## C++

 `// C++ code to multiply given number``// by 2 such that it is divisible by 10``// using nested if else``#include ``using` `namespace` `std;` `int` `main() {``int` `n = 10;``  ` `  ``// checking if the number is divisible``// by 10 or not if divisible print 0``if` `(n % 10 == 0)``    ``cout << 0;``  ` `  ``// if not divisible by 10 then multiply``// it by 2 and check again``else``{``  ``n = n*2;``    ``if` `(n % 10 == 0)``        ``cout<<0;``    ``else``        ``cout<<-1;``}` `    ``return` `0;``}` `  ``// This code is contributed by akashish__`

## Java

 `// Java code to multiply given number``// by 2 such that it is divisible by 10``// using nested if else``import` `java.io.*;` `class` `GFG {``  ``public` `static` `void` `main (String[] args) {``    ``int` `n = ``10``;` `    ``// checking if the number is divisible``    ``// by 10 or not if divisible print 0``    ``if` `(n % ``10` `== ``0``)``      ``System.out.println(``"0"``);` `    ``// if not divisible by 10 then multiply``    ``// it by 2 and check again``    ``else``{``      ``n = n*``2``;``      ``if` `(n % ``10` `== ``0``)``        ``System.out.println(``"0"``);``      ``else``        ``System.out.println(``"-1"``);``    ``}` `  ``}``}` `// This code is contributed by laxmigangarajula03.`

## Python3

 `# Python code to multiply given number``# by 2 such that it is divisible by 10``# using nested if else`  `n ``=` `10``# checking if the number is divisible``# by 10 or not if divisible print 0``if` `n ``%` `10` `=``=` `0``:``    ``print``(``0``)``# if not divisible by 10 then multiply``# it by 2 and check again``else``:``    ``n ``=` `n``*``2``    ``if` `n ``%` `10` `=``=` `0``:``        ``print``(``0``)``    ``else``:``        ``print``(``-``1``)` `  ``# this code is contributed by gangarajula laxmi`

## C#

 `// C# code to multiply given number``// by 2 such that it is divisible by 10``// using nested if else``using` `System;` `public` `class` `GFG{` `  ``static` `public` `void` `Main (){` `    ``// Code``    ``int` `n = 10;` `    ``// checking if the number is divisible``    ``// by 10 or not if divisible print 0``    ``if` `(n % 10 == 0)``    ``{ Console.WriteLine(``"0"``); }` `    ``// if not divisible by 10 then multiply``    ``// it by 2 and check again``    ``else``{``      ``n = n*2;``      ``if` `(n % 10 == 0)``      ``{ Console.WriteLine(``"0"``); }``      ``else``      ``{ Console.WriteLine(``"-1"``); }``    ``}``  ``}``}``// This code is contributed by akashish__`

## Javascript

 ``

Output

`0`

My Personal Notes arrow_drop_up