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}}==