Given a number n, find the result after multiplying it by 7.
Example:
Input: n=8
Output: 56
Naive Approach: The basic way to solve this is to use a multiplication operator, add the number 7 times or use recursive function.
C++
#include <bits/stdc++.h>
using namespace std;
long multiplyBySeven( long n) { return (n * 7); }
int main()
{
long n = 4;
cout << multiplyBySeven(n);
return 0;
}
|
Java
import java.io.*;
class GFG {
static long multiplyBySeven( long n) { return (n * 7 ); }
public static void main (String[] args) {
long n = 4 ;
System.out.println(multiplyBySeven(n));
}
}
|
C#
using System;
public class GFG{
static long multiplyBySeven( long n) { return (n * 7); }
static public void Main (){
long n = 4;
Console.Write(multiplyBySeven(n));
}
}
|
Python3
def multiplyBySeven(n: int ) - > int :
return n * 7
n = 4
print (multiplyBySeven(n))
|
PHP
<?php
function multiplyBySeven( $n ) {
return $n * 7;
}
$n = 4;
echo multiplyBySeven( $n );
?>
|
Javascript
<script>
function multiplyBySeven(n) {
return n * 7;
}
let n = 4;
console.log(multiplyBySeven(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Efficient Approach: We can multiply a number by 7 using a bitwise operator.
- First left shift the number by 3 bits (you will get 8n)
- Then subtract the original number from the shifted number
- Return the difference (8n – n).
Below is the implementation of the above approach:
C
# include<stdio.h>
int multiplyBySeven(unsigned int n)
{
return ((n<<3) - n);
}
int main()
{
unsigned int n = 4;
printf ( "%u" , multiplyBySeven(n));
getchar ();
return 0;
}
|
CPP
# include<bits/stdc++.h>
using namespace std;
long multiplyBySeven( long n)
{
return ((n<<3) - n);
}
int main()
{
long n = 4;
cout<<multiplyBySeven(n);
return 0;
}
|
Java
class GFG {
static int multiplyBySeven( int n)
{
return ((n << 3 ) - n);
}
public static void main (String arg[])
{
int n = 4 ;
System.out.println(multiplyBySeven(n));
}
}
|
Python3
def multiplyBySeven(n):
return ((n << 3 ) - n)
n = 4
print (multiplyBySeven(n))
|
C#
using System;
class GFG
{
static int multiplyBySeven( int n)
{
return ((n << 3) - n);
}
public static void Main ()
{
int n = 4;
Console.Write(multiplyBySeven(n));
}
}
|
PHP
<?php
function multiplyBySeven( $n )
{
return (( $n <<3) - $n );
}
$n = 4;
echo multiplyBySeven( $n );
?>
|
Javascript
<script>
function multiplyBySeven(n)
{
return ((n << 3) - n);
}
n = 4;
document.write(multiplyBySeven(n));
</script>
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Method 3:
1. We know that 7 can be represented as 2^3 – 1, which means that 7 can be expressed as (2^3) – 1.
2. So, we can write the multiplication of a number by 7 as:
7*n = (2^3 – 1)*n = (2^3)*n – n = (n << 3) – n
3. Here, << operator is used for left shift operation by 3 bits, which is equivalent to multiplying by 2^3.
We can further simplify the above expression as:
7*n = (n << 3) – n = (n << 2 + n << 1 + n)
Here, << operator is used for left shift operation by 1 bit, which is equivalent to multiplying by 2.
C++
#include <iostream>
using namespace std;
int multiplyBy7( int num) {
return (num << 2) + (num << 1) + num;
}
int main() {
int n = 4;
cout << multiplyBy7(n) << endl;
return 0;
}
|
Java
public class GFG {
public static int multiplyBy7( int num) {
return (num << 2 ) + (num << 1 ) + num;
}
public static void main(String[] args) {
int n = 4 ;
System.out.println(multiplyBy7(n));
}
}
|
Python3
def multiply_by_7(num):
return (num << 2 ) + (num << 1 ) + num
n = 4
print (multiply_by_7(n))
|
C#
using System;
namespace MultiplyBy7 {
class Program {
static int MultiplyBy7( int num) {
return (num << 2) + (num << 1) + num;
}
static void Main( string [] args) {
int n = 4;
Console.WriteLine(MultiplyBy7(n));
}
}
}
|
Javascript
function multiplyBy7(num) {
return (num << 2) + (num << 1) + num;
}
let n = 4;
console.log(multiplyBy7(n));
|
Time Complexity: O(1)
Auxiliary Space: O(1)
Note: Works only for positive integers.
Same concept can be used for fast multiplication by 9 or other numbers.
Please Login to comment...