Обновление. Нет проблем с этим вопросом. Смотрите первый комментарий.
Я пытаюсь выяснить этот код с помощью jsfiddle.net, но когда я его запускаю, он вызывает фактический принтер, подключенный к моему компьютеру. Я изменил печать на «alert» http://jsfiddle.net/eZ3jQ/, и он вернулся (((1 * 3) + 5) * 3). Однако, поскольку ответные вызовы находят, я ожидал, что он снова запустит поиск.
Есть ли способ заставить программу работать?
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));