# Efficient way to multiply with 7

We can multiply a number by 7 using bitwise operator. First left shift the number by 3 bits (you will get 8n) then subtract the original numberfrom the shifted number and return the difference (8n – n).

Program:

## CPP

 `# include  ` ` `  `using` `namespace` `std; ` ` ``//c++ implementation   ` `long` `multiplyBySeven(``long` `n)  ` `{    ` `    ``/* Note the inner bracket here. This is needed   ` `       ``because precedence of '-' operator is higher   ` `       ``than '<<' */` `    ``return` `((n<<3) - n);  ` `}  ` `   `  `/* Driver program to test above function */` `int` `main()  ` `{  ` `    ``long` `n = 4;  ` `     `  `    ``cout<

## C

 `# include ` ` `  `int` `multiplyBySeven(unsigned ``int` `n) ` `{   ` `    ``/* Note the inner bracket here. This is needed  ` `       ``because precedence of '-' operator is higher  ` `       ``than '<<' */` `    ``return` `((n<<3) - n); ` `} ` ` `  `/* Driver program to test above function */` `int` `main() ` `{ ` `    ``unsigned ``int` `n = 4; ` `    ``printf``(``"%u"``, multiplyBySeven(n)); ` ` `  `    ``getchar``(); ` `    ``return` `0; ` `} `

## Java

 `// Java program to multiply any  ` `// positive number to 7  ` ` `  `class` `GFG { ` `     `  `    ``static` `int` `multiplyBySeven(``int` `n) ` `    ``{  ` `        ``/* Note the inner bracket here.  ` `        ``This is needed because precedence ` `        ``of '-' operator is higher  ` `        ``than '<<' */` `        ``return` `((n << ``3``) - n); ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main (String arg[])  ` `    ``{ ` `        ``int` `n = ``4``; ` `         `  `        ``System.out.println(multiplyBySeven(n)); ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

## Python

 `# Python program to multiply any  ` `# positive number to 7  ` ` `  `# Function to mutiply any number with 7  ` `def` `multiplyBySeven(n): ` ` `  `    ``# Note the inner bracket here.  ` `    ``# This is needed because  ` `    ``# precedence of '-' operator is  ` `    ``# higher than '<<'  ` `    ``return` `((n << ``3``) ``-` `n) ` ` `  `# Driver code  ` `n ``=` `4` `print``(multiplyBySeven(n)) ` ` `  `# This code is contributed by Danish Raza `

## C#

 `// C# program to multiply any  ` `// positive number to 7  ` `using` `System; ` ` `  `class` `GFG ` `{ ` `    ``static` `int` `multiplyBySeven(``int` `n) ` `    ``{  ` `        ``/* Note the inner bracket here. This is needed  ` `        ``because precedence of '-' operator is higher  ` `        ``than '<<' */` `        ``return` `((n << 3) - n); ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `Main ()  ` `    ``{ ` `        ``int` `n = 4; ` `        ``Console.Write(multiplyBySeven(n)); ` `    ``} ` `} ` ` `  `// This code is contributed by Sam007 `

## PHP

 ` `

Output:

`28`

Time Complexity: O(1)
Space Complexity: O(1)

Note: Works only for positive integers.
Same concept can be used for fast multiplication by 9 or other numbers.

My Personal Notes arrow_drop_up

Improved By : vt_m, mohit kumar 29

Article Tags :
Practice Tags :

3

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.