好的,所以我有这个河内塔程序...你输入光盘的数量,它输出完成它所需的移动次数。由于某种原因,我没有得到输出。我知道它可能很小但是任何帮助都会受到赞赏。
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>
答案 0 :(得分:0)
如上所述,您可以在按键点击时调用没有参数的函数。
解决此问题的最快方法是将整个代码放在另一个不带参数的函数(比如moveDisk
)中,只需收集输入并运行onClick
,然后输入该函数的名称在{{1}}事件中。
答案 1 :(得分:0)
应该是这样的......
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;