Работая над головоломкой Ханойской башни, я заметил, что иногда роли башен (исходная, конечная и вспомогательная) меняются, но диски не перемещаются и не печатаются.
Сначала я думал, что эти изменения могут быть связаны с тем, как 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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Пожалуйста, помогите мне исправить эту стратегию квантовой башни [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-