Почему роли Ханойской башни меняются без каких-либо видимых движений?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему роли Ханойской башни меняются без каких-либо видимых движений?

Сообщение Anonymous »

Работая над головоломкой Ханойской башни, я заметил, что иногда роли башен (исходная, конечная и вспомогательная) меняются, но диски не перемещаются и не печатаются.
Сначала я думал, что эти изменения могут быть связаны с тем, как Java обрабатывает положения башен. Я предполагал, что для перемещения диска из одной башни в другую башни должны физически находиться рядом друг с другом. Например, я думал, что установка должна быть чем-то вроде ABC для перемещения от башни A к B, а не ACB или CBA, при этом источник всегда должен быть первым, а пункт назначения - рядом с ним.
Являются ли эта роль меняет лишь часть процесса, или они действительно влияют на работу алгоритма? Может ли кто-нибудь помочь определить источник моего замешательства и объяснить, почему эти шаги происходят без каких-либо видимых ходов и как они вписываются в общее решение?
Вот алгоритм
package Algo;

public class ToursDeHanoi {

public static void hanoi(int n, char source, char destination, char auxiliary) {
if (n == 1) {
System.out.println("move le disque 1 de la tour " + source + " à la tour " + destination);
return;
}

hanoi(n - 1, source, auxiliary, destination);

System.out.println("move le disque " + n + " de la tour " + source + " à la tour " + destination);

hanoi(n - 1, auxiliary, destination, source);
}

public static void main(String[] args) {
int n = 3;
System.out.println("Solution pour " + n + " disques :");
hanoi(n, 'A', 'C', 'B');
}
}


Подробнее здесь: https://stackoverflow.com/questions/789 ... ible-moves

Вернуться в «JAVA»