programming-examples/c++/Numerical_Problems/C++ Program to Implement Russian Peasant Multiplication.cpp

38 lines
656 B
C++
Raw Normal View History

2019-11-18 14:44:36 +01:00
/*
* C++ Program to Implement Russian Peasant Multiplication
*/
#include <iostream>
using namespace std;
/*
* multiply two numbers using Russian Peasant method
*/
unsigned int russianPeasant(unsigned int a, unsigned int b)
{
int res = 0;
while (b > 0)
{
if (b & 1)
res = res + a;
a = a << 1;
b = b >> 1;
}
return res;
}
/*
* Main
*/
int main()
{
cout << russianPeasant(15, 5) << endl;
cout << russianPeasant(13, 6) << endl;
return 0;
}
/*
75
78
------------------
(program exited with code: 1)
Press return to continue