Ravi Kant Mishra
BAN USERpublic int Multiply_twonumber(int m, int n)
{
if (n == 1) return m;
int temp= Multiply_twonumber(m, n / 2) ;
if (n % 2 == 0)
return temp + temp;
else
{
return m+temp + temp;
}
}
Here there is recursive call for Multiply_twonumber
and each time we get a result from Multiply_twonumber function we just need to sum up the result to itself i.e. log(n) complexity reduces use of sum operator. as sum is already available for last division.
#include <iostream>
using namespace std;
int Multiply(int a, int b);
int reccursiveSum(int BigNum, int Smallnum);
int main()
{
int a = 19, b = 25, c = 0;;
cout << "enter first number :" << a;
//cin >> a;
cout << endl << "enter Second number :" << b;
//cin >> b;
c = Multiply(a,b);
cout << endl << "Multi value is :" << c;
// cin >> c;
return 0;
}
int Multiply(int a, int b)
{
int result = 0;
if (a > b)
{
result = reccursiveSum(a, b);
}
else
{
result = reccursiveSum(b,a);
}
return result;
}
int reccursiveSum(int BigNum, int Smallnum)
{
if (Smallnum == 1)
return BigNum;
int result =0; int NewNum = 0;
NewNum = Smallnum/2;
result = reccursiveSum(BigNum, NewNum);
result += result;
if(Smallnum % 2 != 0)
{
result += BigNum;
}
return result;
}
int count = 0, i = 0
- Ravi Kant Mishra April 20, 2016While(arr[i]!= NULL && x > 0)
{
x -= vp + (arr[i] != P) ? rp : 0;
if (X > 0)
count++;
else
return count;
x -= m;
i++;
}
return count;