From a2ab8e5d78a02d9745cb2397da7e61982b91b98c Mon Sep 17 00:00:00 2001 From: Zoran Pandovski Date: Mon, 14 Aug 2017 19:02:54 +0200 Subject: [PATCH] Add javascript implementation for rp --- .../ZoranPandovski/rusian_peasant.js | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Russian_Peasant/Javascript/ZoranPandovski/rusian_peasant.js diff --git a/Russian_Peasant/Javascript/ZoranPandovski/rusian_peasant.js b/Russian_Peasant/Javascript/ZoranPandovski/rusian_peasant.js new file mode 100644 index 00000000..7ad77fd6 --- /dev/null +++ b/Russian_Peasant/Javascript/ZoranPandovski/rusian_peasant.js @@ -0,0 +1,33 @@ +'use strict' + +const russian_peasant = function(num1,num2){ + let x = num1, + y = num2, + sum = 0; + while(x > 0){ + if(x % 2 == 1){ + sum+=y; + } + x = x >> 1; + y = y << 1; + } + + return sum; +} + +//test + +const assert = function(condition, message) { + if (!condition) { + message = message || "Assertion failed"; + if (typeof Error !== "undefined") { + throw new Error(message); + } + throw message; // Fallback + } +} + +const num1 = 12; +const num2 = 10; +const result = russian_peasant(num1,num2) +assert(result === 120); \ No newline at end of file