How to resolve the algorithm Ethiopian multiplication step by step in the ALGOL W programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Ethiopian multiplication step by step in the ALGOL W 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 ALGOL W programming language
Source code in the algol programming language
begin
% returns half of a %
integer procedure halve ( integer value a ) ; a div 2;
% returns a doubled %
integer procedure double ( integer value a ) ; a * 2;
% returns true if a is even, false otherwise %
logical procedure even ( integer value a ) ; not odd( a );
% returns the product of a and b using ethopian multiplication %
% rather than keep a table of the intermediate results, %
% we examine then as they are generated %
integer procedure ethopianMultiplication ( integer value a, b ) ;
begin
integer v, r, accumulator;
v := a;
r := b;
accumulator := 0;
i_w := 4; s_w := 0; % set output formatting %
while begin
write( v );
if even( v ) then writeon( " ---" )
else begin
accumulator := accumulator + r;
writeon( " ", r );
end;
v := halve( v );
r := double( r );
v > 0
end do begin end;
write( " =====" );
accumulator
end ethopianMultiplication ;
% task test case %
begin
integer m;
m := ethopianMultiplication( 17, 34 );
write( " ", m )
end
end.
You may also check:How to resolve the algorithm Walk a directory/Recursively step by step in the REALbasic programming language
You may also check:How to resolve the algorithm Haversine formula step by step in the QB64 programming language
You may also check:How to resolve the algorithm Loops/While step by step in the PL/0 programming language
You may also check:How to resolve the algorithm Text processing/2 step by step in the M2000 Interpreter programming language
You may also check:How to resolve the algorithm Unicode variable names step by step in the NetRexx programming language