Jump to content

Towers of Hanoi: Difference between revisions

(Added uBasic/4tH version)
Line 1,644:
}
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}}==
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.