Шаг 1:
var solveHanoi = function(numDisks, fromPeg, toPeg) {
if (numDisks===0){
return;
}
// recursive case:
};
Для случая с 0 дисками вы должны написать оператор if в функции.
Шаг 2:
var solveHanoi = function(numDisks, fromPeg, toPeg) {
if (numDisks===0){
return;
}
// recursive case:
var sparePeg = hanoi.getSparePeg(fromPeg, toPeg);
solveHanoi(numDisks-1, fromPeg, sparePeg);
};
Теперь создайте переменную под названием «sparePeg», затем напишите в функции «solveHanoi» 3 параметра, как показано выше:
Шаг 3:
var solveHanoi = function(numDisks, fromPeg, toPeg) {
if (numDisks===0){
return;
}
// recursive case:
var sparePeg = hanoi.getSparePeg(fromPeg, toPeg);
hanoi.moveDisk(fromPeg, toPeg);
solveHanoi(numDisks-1, fromPeg, sparePeg);
};
Теперь добавьте «hanoi.moveDisk () 'с параметрами fromPeg и sparePeg.
Шаг 4 и 5:
var solveHanoi = function(numDisks, fromPeg, toPeg) {
if (numDisks===0){
return;
}
// recursive case:
else{
var sparePeg = hanoi.getSparePeg(fromPeg, toPeg);
solveHanoi(numDisks-1, fromPeg, sparePeg);
hanoi.moveDisk(fromPeg, toPeg);
solveHanoi(numDisks-1, sparePeg, toPeg);
}
};
solveHanoi(5, "A", "B");
Program.assertEqual(hanoi.isSolved("B"),true);
Это самый простой способ.Все, что вам нужно сделать, это раскомментировать последние 2 строки кода.
Тогда вы закончили!