하노이 타워 문제 : 고대에는 탑에 3 개의 A, B 및 C가있는 불교 탑이있었습니다. A에는 N 판이 크기가 크고, 더 큰 판의 크기는 바닥에 있고 작은 플레이트는 상단에 있습니다 (그림과 같이).
이 N 판을 좌석 A에서 좌석 B로 옮기고 싶었던 수도사가 있었지만 한 번에 하나의 접시 만 움직일 수있었습니다. 운동하는 동안, 세 좌석의 접시는 항상 큰 접시와 작은 접시를 위에 보관했습니다. 이동 과정에서 B 시트를 사용하여 이동 단계를 인쇄해야합니다. 플레이트가 하나만 있으면 B 시트를 사용하고 플레이트를 A에서 C로 직접 이동할 필요가 없습니다.
Java 코드는 다음과 같습니다.
공개 클래스 하노이 {public static void main (String [] args) {int disk = 3; // 접시 이동 (디스크, 'a', 'b', 'c'); } /** 질문에 따르면, 위에서 아래로의 숫자 => 1 ~ n* / *** @param 탑 소스 타워 상단의 플레이트 번호* @param* @param inter 에이전트에서 이동하는 타워* @param* @param to toest tower* / private static void move (int topn, char inter, char to) {if (topn ==) +에서 " + to)까지 +; } else {move (topn -1, from, to, inter); System.out.println ( "디스크" + topn + "에서" +에서 " + from +"~ " + to)에서" + ";밖으로
디스크 1에서 A에서 C 디스크 2에서 A에서 B 디스크 1에서 C에서 B 디스크 3에서 B 디스크 3에서 A에서 C 디스크까지 B에서 A 디스크까지 2에서 C Disk 1에서 C 디스크 1에서 C 디스크까지의 디스크 1.