public class TowerOfHanoiStatic { public static int moveCount = 0; public static int hanoi(int n, int from, int to, int aux) { if (n == 1) { TowerOfHanoiStatic.moveCount = TowerOfHanoiStatic.moveCount + 1; return TowerOfHanoiStatic.moveCount; } hanoi(n - 1, from, aux, to); TowerOfHanoiStatic.moveCount = TowerOfHanoiStatic.moveCount + 1; hanoi(n - 1, aux, to, from); return TowerOfHanoiStatic.moveCount; } public static int main() { TowerOfHanoiStatic.moveCount = 0; System.out.println(hanoi(1, 1, 3, 2)); TowerOfHanoiStatic.moveCount = 0; System.out.println(hanoi(2, 1, 3, 2)); TowerOfHanoiStatic.moveCount = 0; System.out.println(hanoi(3, 1, 3, 2)); TowerOfHanoiStatic.moveCount = 0; System.out.println(hanoi(4, 1, 3, 2)); return 0; } }