How to resolve the algorithm Ethiopian multiplication step by step in the AutoHotkey programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Ethiopian multiplication step by step in the AutoHotkey programming language
Table of Contents
Problem Statement
Ethiopian multiplication is a method of multiplying integers using only addition, doubling, and halving.
Method:
For example: 17 × 34 Halving the first column: Doubling the second column: Strike-out rows whose first cell is even: Sum the remaining numbers in the right-hand column: So 17 multiplied by 34, by the Ethiopian method is 578.
The task is to define three named functions/methods/procedures/subroutines:
Use these functions to create a function that does Ethiopian multiplication.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Ethiopian multiplication step by step in the AutoHotkey programming language
Source code in the autohotkey programming language
MsgBox % Ethiopian(17, 34) "`n" Ethiopian2(17, 34)
; func definitions:
half( x ) {
return x >> 1
}
double( x ) {
return x << 1
}
isEven( x ) {
return x & 1 == 0
}
Ethiopian( a, b ) {
r := 0
While (a >= 1) {
if !isEven(a)
r += b
a := half(a)
b := double(b)
}
return r
}
; or a recursive function:
Ethiopian2( a, b, r = 0 ) { ;omit r param on initial call
return a==1 ? r+b : Ethiopian2( half(a), double(b), !isEven(a) ? r+b : r )
}
You may also check:How to resolve the algorithm Priority queue step by step in the Julia programming language
You may also check:How to resolve the algorithm Play recorded sounds step by step in the Go programming language
You may also check:How to resolve the algorithm Exceptions step by step in the E programming language
You may also check:How to resolve the algorithm Kaprekar numbers step by step in the 11l programming language
You may also check:How to resolve the algorithm Horner's rule for polynomial evaluation step by step in the Groovy programming language