32 lines
694 B
Text
32 lines
694 B
Text
100 REM Ethiopian multiplication
|
|
110 DECLARE FUNCTION Half
|
|
120 DECLARE FUNCTION Doub
|
|
130 DECLARE FUNCTION IsEven
|
|
140 LET X = 17
|
|
150 LET Y = 34
|
|
160 DO
|
|
170 PRINT USING "###### ":X;
|
|
180 IF IsEven(X) = 0 THEN
|
|
190 LET OutP = OutP + Y
|
|
200 PRINT USING "######":Y
|
|
210 ELSE
|
|
220 PRINT
|
|
230 END IF
|
|
240 IF X < 2 THEN EXIT DO
|
|
250 LET X = Half(X)
|
|
260 LET Y = Doub(Y)
|
|
270 LOOP
|
|
280 PRINT USING " = ######": OutP
|
|
290 END
|
|
300 REM
|
|
310 EXTERNAL FUNCTION Doub(A)
|
|
320 LET Doub = A * 2
|
|
330 END FUNCTION
|
|
340 REM
|
|
350 EXTERNAL FUNCTION Half(A)
|
|
360 LET Half = INT(A / 2)
|
|
370 END FUNCTION
|
|
380 REM
|
|
390 EXTERNAL FUNCTION IsEven(A)
|
|
400 LET IsEven = MOD(A, 2) - 1
|
|
410 END FUNCTION
|