7

アップデート。この質問は問題ありません。最初のコメントを参照してください。

jsfiddle.netでこのコードを理解しようとしていますが、実行すると、コンピューターに接続されている実際のプリンターがトリガーされます。印刷を「アラート」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));
4

2 に答える 2

10

まあ、必要のない修正は別として、lemmeは提案をします。

HTML

<div id="logs"></div>

JS

var logs=document.getElementById('logs');
function logIt(msg){
    var e=document.createElement('div');
    e.innerHTML=msg;
    logs.insertBefore(e,logs.firstChild);
}

メッセージを付加するログ機能。物事を追跡できるので便利です。アラートは厄介です:P

于 2011-04-04T01:06:03.273 に答える
0

HTML:

<div id="log"></div>

JS:

var log = function(msg) {
    var elem = document.getElementById('log');
    elem.innerHTML += '<p>' + msg + '</p>';
};
于 2015-06-02T03:49:03.600 に答える