无法获得输出

时间:2016-06-24 16:35:55

标签: javascript towers-of-hanoi

好的,所以我有这个河内塔程序...你输入光盘的数量,它输出完成它所需的移动次数。由于某种原因,我没有得到输出。我知道它可能很小但是任何帮助都会受到赞赏。

var count = 0;
var numberOfPlates = document.getElementById("numPlates").value;
moveDisk(numberOfPlates, "A", "C", "B");

function moveDisk(N, A, C, B) {

  if (N == 1)
    count = count + 1;

  if (N > 1) {
    moveDisk(N - 1, A, B, C);
    count = count + 1;
    moveDisk(N - 1, B, C, A);
  }
}
  document.getElementById("moveOutput").innerHTML = "Move Count = " + count;
<h1>Towers of Hanoi</h1> Enter the number of discs:
<input type="textbox" id="numPlates" />
<input type="button" id="Move" value="Move Disks" onClick="moveDisk();" />
<p id="moveOutput"></p>

2 个答案:

答案 0 :(得分:0)

如上所述,您可以在按键点击时调用没有参数的函数。 解决此问题的最快方法是将整个代码放在另一个不带参数的函数(比如moveDisk)中,只需收集输入并运行onClick,然后输入该函数的名称在{{1}}事件中。

答案 1 :(得分:0)

应该是这样的......

&#13;
&#13;
scrapy
&#13;
function moveDisks() {
  var count = 0;
  var numberOfPlates = document.getElementById("numPlates").value;
  calculation(numberOfPlates, "A", "C", "B");

  function calculation(N, A, C, B) {

    if (N == 1)
      count = count + 1;

    if (N > 1) {
      calculation(N - 1, A, B, C);
      count = count + 1;
      calculation(N - 1, B, C, A);
    }
  }
  document.getElementById("moveOutput").innerHTML = "Move Count = " + count;
}
&#13;
&#13;
&#13;