public class TuermeVonHanoi { static long anzahl_zuege = 0; // Bewegt n Scheiben von Turm a nach Turm b und // benutzt als Zwischenspeicher Turm z. static void bewege (char a, char b, char z, int n) { ++anzahl_zuege; if (n == 1) { System.out.println("Bewege Scheibe von "+ a + " auf "+ b); } else { bewege (a, z, b, n-1); // bewege die oberen n-1 Scheiben von a nach c bewege (a, b, z, 1); // bewege größte Scheibe von a nach b bewege (z, b, a, n-1); // bewege die oberen n-1 Scheiben von c nach b } } // Ende von Prozedur bewege() public static void main (String[] args) { // Gib die notwendigen Züge für einen Stapel der Höhe 5 aus bewege('a', 'b', 'c', 20); System.out.println("Das waren " + anzahl_zuege + " Spielzüge."); } // main } // TuermeVonHanoi