Thursday, September 20, 2012

********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.

#include <stdio.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;
}

No comments:

Post a Comment