Towers of Hanoi: Difference between revisions
Content added Content deleted
(Added uBasic/4tH version) |
|||
Line 1,644: | Line 1,644: | ||
} |
} |
||
move(4, "A", "B", "C");</lang> |
move(4, "A", "B", "C");</lang> |
||
Or, as a functional expression, rather than a statement with side effects: |
|||
<lang JavaScript>(function () { |
|||
// n -> s -> s -> s -> [[s, s]] |
|||
function hanoi(n, a, b, c) { |
|||
return n ? hanoi(n - 1, a, c, b).concat( |
|||
[[a, b]] |
|||
).concat(hanoi(n - 1, c, b, a)) : []; |
|||
} |
|||
return hanoi(3, 'left', 'right', 'mid').map(function (d) { |
|||
return d[0] + ' -> ' + d[1]; |
|||
}); |
|||
})();</lang> |
|||
{{Out}} |
|||
<lang JavaScript>["left -> right", "left -> mid", |
|||
"right -> mid", "left -> right", |
|||
"mid -> left", "mid -> right", |
|||
"left -> right"]</lang> |
|||
=={{header|Joy}}== |
=={{header|Joy}}== |