Ethiopian multiplication: Difference between revisions
no edit summary
No edit summary |
No edit summary |
||
Line 815:
End Function</lang>
=={{header|M2000 Interpreter}}==▼
<lang M2000 Interpreter>▼
Module EthiopianMultiplication{▼
Form 60, 25▼
Const Center=2, ColumnWith=12▼
Report Center,"Ethiopian Method of Multiplication"▼
// using decimals as unsigned integers▼
Def Decimal leftval, rightval▼
(leftval, rightval)=(random(1, 65535), random(1, 65536))▼
Print $( , ColumnWith), "Target:", leftval*rightval,▼
Hex leftval*rightval▼
a=list▼
sum=0▼
if @IsEven(leftval) Else sum+=rightval▼
Print leftval, rightval,▼
Hex leftval, rightval▼
while leftval>1▼
leftval=@halveInt(leftval)▼
rightval=@DoubleInt(rightval)▼
Print leftval, rightval,▼
Hex leftval, rightval▼
if @IsEven(leftval) Else sum+=rightval▼
End while▼
Print "", sum▼
Hex "", sum▼
Function HalveInt(i)▼
=Binary.Shift(i,-1)▼
End Function▼
Function DoubleInt(i)▼
=Binary.Shift(i,1)▼
End Function▼
Function IsEven(i)▼
=Binary.And(i, 1)=0▼
End Function▼
}▼
EthiopianMultiplication▼
</lang>▼
==={{header|Microsoft Small Basic}}===
Line 2,823 ⟶ 2,786:
print(ethiopian(17, 34))</lang>
▲=={{header|M2000 Interpreter}}==
▲<lang M2000 Interpreter>
▲Module EthiopianMultiplication{
▲ Form 60, 25
▲ Const Center=2, ColumnWith=12
▲ Report Center,"Ethiopian Method of Multiplication"
▲ // using decimals as unsigned integers
▲ Def Decimal leftval, rightval
▲ (leftval, rightval)=(random(1, 65535), random(1, 65536))
▲ Print $( , ColumnWith), "Target:", leftval*rightval,
▲ Hex leftval*rightval
▲ a=list
▲ sum=0
▲ if @IsEven(leftval) Else sum+=rightval
▲ Print leftval, rightval,
▲ Hex leftval, rightval
▲ while leftval>1
▲ leftval=@halveInt(leftval)
▲ rightval=@DoubleInt(rightval)
▲ Print leftval, rightval,
▲ Hex leftval, rightval
▲ if @IsEven(leftval) Else sum+=rightval
▲ End while
▲ Print "", sum
▲ Hex "", sum
▲ Function HalveInt(i)
▲ =Binary.Shift(i,-1)
▲ End Function
▲ Function DoubleInt(i)
▲ =Binary.Shift(i,1)
▲ End Function
▲ Function IsEven(i)
▲ =Binary.And(i, 1)=0
▲ End Function
▲}
▲EthiopianMultiplication
▲</lang>
=={{header|Mathematica}} / {{header|Wolfram Language}}==
|