ハノイの塔(CPS版)
このプログラムのソース
function move(n, a, b, k) {
document.form.textarea.value += ("move "+n+" from "+a+" to "+b+"\n");
return k; // k() ではない。
}
function hanoi(n, a, b, c, k) {
if (n>0) {
return hanoi(n-1, a, c, b,
function () {
return move(n, a, b,
function() {
return hanoi(n-1, c, b, a, k);
});
});
} else {
return k();
}
}
function doEnd() {
document.form.textarea.value += "end\n";
return doEnd;
}
var k = function() { return hanoi(5, 'a', 'b', 'c', doEnd); };
function exec() {
k = k ();
}
Koji Kagawa
(kagawa@eng.?????)