아이디어는 다음과 같습니다.
3 차 Hannover Tower의 솔루션 단계를 실현하기 위해, 즉 초기 상태에는 a에는 위에서 아래로 3 개의 플레이트, 즉 디스크 1, 디스크 2 및 디스크 3이 있습니다. 그 중 디스크 1이 가장 작습니다. 디스크 3은 가장 작은 플레이트입니다.
나머지 플레이트의 수를 결정하십시오. 판이 하나만 나가면 반복을 계속하십시오.
코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
공공 계급 하노이터 {
public static void miztish (int level, char from, char inter, char to) {
if (level == 1) {// 플레이트가 하나만 있으면 반복을 종료하십시오.
System.out.println ( " + From + From +"이동 플레이트 번호 1에서 " + to);
} else {// 플레이트가 둘 이상인 경우 계속 반복
이동성 (레벨 -1,에서, inter);
System.out.println ( "From" + From + "From +"Plate " + Level +"부호를 " + to);
Mizatish (레벨 -1, inter, ~);
}
}
public static void main (String [] args) {
int ndisks = 3; // Hannover Tower를 3 번째 주문으로 설정
mizatish (ndisks, 'a', 'b', 'c'); // 움직이는 알고리즘 구현
}
}