Towers of Hanoi: Difference between revisions
Content deleted Content added
add Tiny BASIC |
m →{{header|Tiny BASIC}}: BSIC -> BASIC |
||
Line 5,407: | Line 5,407: | ||
Tiny BASIC does not have recursion, so only an iterative solution is possible... and it has no arrays, so actually keeping track of individual discs is not feasible. |
Tiny BASIC does not have recursion, so only an iterative solution is possible... and it has no arrays, so actually keeping track of individual discs is not feasible. |
||
But as if by magic, it turns out that the source and destination pegs on iteration number n are given by (n&n-1) mod 3 and ((n|n-1) + 1) mod 3 respectively, where & and | are the bitwise and and or operators. Line 40 onward is dedicated to implementing those bitwise operations, since Tiny |
But as if by magic, it turns out that the source and destination pegs on iteration number n are given by (n&n-1) mod 3 and ((n|n-1) + 1) mod 3 respectively, where & and | are the bitwise and and or operators. Line 40 onward is dedicated to implementing those bitwise operations, since Tiny BASIC hasn't got them natively. |
||
<lang tinybasic> 5 PRINT "How many discs?" |
<lang tinybasic> 5 PRINT "How many discs?" |