更新。这个问题没有问题。见第一条评论。
我试图用 jsfiddle.net 找出这段代码,但是当我运行它时,它会触发连接到我计算机的实际打印机。我将打印更改为“警报” http://jsfiddle.net/eZ3jQ/,它返回 (((1 * 3) + 5) * 3)。然而,当返回调用 find 时,我预计它会再次运行 find 。
有没有办法让程序继续运行?
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
print(findSequence(24));