Ethiopian multiplication: Difference between revisions
Content added Content deleted
(→{{header|ASIC}}: Added) |
(→{{header|Nascom BASIC}}: Added) |
||
Line 1,005: | Line 1,005: | ||
TextWindow.WriteLine(tot) |
TextWindow.WriteLine(tot) |
||
</lang> |
</lang> |
||
=={{header|Nascom BASIC}}== |
|||
{{trans|Modula-2}} |
|||
{{works with|Nascom ROM BASIC|4.7}} |
|||
<lang basic> |
|||
10 REM Ethiopian multiplication |
|||
20 DEF FND(A)=2*A |
|||
30 DEF FNH(A)=INT(A/2) |
|||
40 DEF FNE(A)=X-INT(X/2)*2-1 |
|||
50 X=17 |
|||
60 Y=34 |
|||
70 TT=0 |
|||
80 IF X<1 THEN 150 |
|||
90 NR=X:GOSUB 1000:PRINT " "; |
|||
100 IF FNE(X)=0 THEN TT=TT+Y:NR=Y:GOSUB 1000 |
|||
110 PRINT |
|||
120 X=FNH(X) |
|||
130 Y=FND(Y) |
|||
140 GOTO 80 |
|||
150 PRINT "= "; |
|||
160 NR=TT:GOSUB 1000:PRINT |
|||
170 END |
|||
995 REM Print NR in 9 fields |
|||
1000 S$=STR$(NR) |
|||
1010 PRINT SPC(9-LEN(S$));S$; |
|||
1020 RETURN |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
17 34 |
|||
8 |
|||
4 |
|||
2 |
|||
1 544 |
|||
= 578 |
|||
</pre> |
|||
==={{header|PureBasic}}=== |
==={{header|PureBasic}}=== |