Towers of Hanoi: Difference between revisions
Content added Content deleted
(→Using GOSUBs: Fix stack depth.) |
m (→Using binary method: make style consistent with other examples.) |
||
Line 1,072: | Line 1,072: | ||
{{works with|Commodore BASIC}} |
{{works with|Commodore BASIC}} |
||
Very fast version in BASIC V2 on Commodore C-64 |
Very fast version in BASIC V2 on Commodore C-64 |
||
<lang gwbasic> 10 |
<lang gwbasic> 10 DEF FNM3(X)=X-INT(X/3)*3:REM MODULO 3 |
||
20 |
20 N=4:GOSUB 100 |
||
30 |
30 END |
||
99 REM HANOI |
|||
100 :FOR M=1 TO 2^N-1 |
|||
110 ::PRINT MID$(STR$(M),2);":",FNM3(M AND M-1)+1;"TO";FNM3((M OR M-1)+1)+1 |
|||
130 : |
130 :NEXT M |
||
140 |
140 RETURN</lang> |
||
{{out}} |
{{out}} |
||
<pre>1 |
<pre>1: 1 TO 3 |
||
2 |
2: 1 TO 2 |
||
3 |
3: 3 TO 2 |
||
4 |
4: 1 TO 3 |
||
5 |
5: 2 TO 1 |
||
6 |
6: 2 TO 3 |
||
7 |
7: 1 TO 3 |
||
8 |
8: 1 TO 2 |
||
9 |
9: 3 TO 2 |
||
10 |
10: 3 TO 1 |
||
11 |
11: 2 TO 1 |
||
12 |
12: 3 TO 2 |
||
13 |
13: 1 TO 3 |
||
14 |
14: 1 TO 2 |
||
15 |
15: 3 TO 2 </pre> |
||
=={{header|BASIC256}}== |
=={{header|BASIC256}}== |