Ethiopian multiplication: Difference between revisions

Content added Content deleted
m (→‎{{header|Ruby}}: Use end-less defs)
(→‎{{header|GW-BASIC}}: PRINT USING, code formatting, output, "works with".)
Line 941: Line 941:


==={{header|GW-BASIC}}===
==={{header|GW-BASIC}}===
{{works with|BASICA}}
<syntaxhighlight lang="qbasic">10 DEF FNE(A)=(A+1) MOD 2
<syntaxhighlight lang="gwbasic">10 REM Ethiopian multiplication
20 DEF FNH(A)=INT(A/2)
30 DEF FND(A)=2*A
20 DEF FNE(A) = (A + 1) MOD 2
30 DEF FNH(A) = INT(A / 2)
40 X=17:Y=34:TOT=0
40 DEF FND(A) = 2 * A
50 WHILE X>=1
50 X = 17: Y = 34: TOT = 0
60 PRINT X,
60 WHILE X >= 1
70 IF FNE(X)=0 THEN TOT=TOT+Y:PRINT Y ELSE PRINT
70 PRINT USING "###### ";X;
80 X=FNH(X):Y=FND(Y)
80 IF FNE(X)=0 THEN TOT = TOT + Y: PRINT USING "###### ";Y ELSE PRINT
90 WEND
90 X = FNH(X): Y = FND(Y)
100 PRINT "=", TOT</syntaxhighlight>
100 WEND
110 PRINT USING "= ######";TOT
120 END</syntaxhighlight>
{{out}}
<pre>
17 34
8
4
2
1 544
= 578
</pre>


==={{header|Liberty BASIC}}===
==={{header|Liberty BASIC}}===