Multiply a given Integer with 3.5

Given a integer x, write a function that multiplies x with 3.5 and returns the integer result. You are not allowed to use %, /, *.

Examples :
Input: 2
Output: 7

Input: 5
Output: 17 (Ignore the digits after decimal point)

Solution:
1. We can get x*3.5 by adding 2*x, x and x/2. To calculate 2*x, left shift x by 1 and to calculate x/2, right shift x by 2.

C++

// C++ program to multiply
// a number with 3.5
#include <bits/stdc++.h>
  
int multiplyWith3Point5(int x)
{
    return (x<<1) + x + (x>>1);
  
/* Driver program to test above functions*/
int main()
{
    int x = 4; 
    printf("%d", multiplyWith3Point5(x));
    getchar();
    return 0;
}

Java

// Java Program to multiply
// a number with 3.5
  
class GFG {
          
    static int multiplyWith3Point5(int x)
    {
        return (x<<1) + x + (x>>1);
    
      
    /* Driver program to test above functions*/
    public static void main(String[] args)
    {
        int x = 2
        System.out.println(multiplyWith3Point5(x));
    }
}
  
// This code is contributed by prerna saini.

Python3

# Python 3 program to multiply
# a number with 3.5
  
def multiplyWith3Point5(x):
  
    return (x<<1) + x + (x>>1)
   
  
# Driver program to 
# test above functions
x = 4 
print(multiplyWith3Point5(x))
  
# This code is contributed by
# Smitha Dinesh Semwal

C#

// C# Program to multiply
// a number with 3.5
using System;
  
class GFG
{
          
    static int multiplyWith3Point5(int x)
    {
        return (x<<1) + x + (x>>1);
    
      
    /* Driver program to test above functions*/
    public static void Main()
    {
        int x = 2; 
        Console.Write(multiplyWith3Point5(x));
    }
      
}
  
// This code is contributed by Sam007

PHP

<?php
// PHP program to multiply
// a number with 3.5
  
  
function multiplyWith3Point5( $x)
{
    return ($x << 1) + $x + ($x >> 1);
  
// Driver Code
$x = 4; 
echo multiplyWith3Point5($x);
      
// This code is contributed by vt_m.
?>



2. Another way of doing this could be (8*x – x)/2 (See below code). Thanks to Ajaym for suggesting this.

#include <stdio.h>
int multiplyWith3Point5(int x)
{
  return ((x<<3) - x)>>1;
}    

Please write comments if you find the above code/algorithm incorrect, or find better ways to solve the same problem



My Personal Notes arrow_drop_up

Improved By : vt_m

Article Tags :
Practice Tags :



Be the First to upvote.


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