रूसी किसान एल्गोरिथ्म दो संख्याओं को गुणा करने के लिए। यह दो लंबी संख्याओं के गुणन की गणना करने के लिए एक त्वरित एल्गोरिथम है।
एल्गोरिदम
Begin Russianpeasant(num1, num2) Int result=0 while (num2 > 0) if (num2 and 1) result = result + n; num1= num1 left shift 1; num2= num2left shift 1; return result End
उदाहरण कोड
#include <iostream> using namespace std; unsigned int russianPeasant(unsigned int n, unsigned int m) { int result = 0; while (m > 0) { if (m & 1) result = result + n; n = n << 1; m = m >> 1; } return result; } int main() { cout << russianPeasant(10, 20) << endl; cout << russianPeasant(7, 6) << endl; return 0; }
आउटपुट
200 42