Ethiopian multiplication: Difference between revisions

m (Fixed lang tags.)
Line 501:
 
=={{header|D}}==
<lang d>importint std.stdio;ethiopian(int n1, int n2) {
static int dubdoubleNum(int numn) { return numn <<* 12; }
static int halvehalveNum(int numn) { return numn >>/ 12; }
static bool isEven(int numn) { return !(numn &% 12); }
 
int ethiopian(int n1, int n2) {result;
 
int ret = 0;
while (n1 >= 1) {
if (!isEven(n1)) ret += n2;
n1 result += halve(n1)n2;
n2n1 = dubhalveNum(n2n1);
n2 = doubleNum(n2);
}
 
return retresult;
}
 
intvoid main() {
writeflnprintf("17 ethiopian 34 is %d\n", ethiopian(17, 34));
return 0;
}</lang>
 
Anonymous user