// Towers.java public class Towers { private static int moves = 0; public static void moveDisc(int num, int from_tower, int to_tower, int temp_tower) { if (num > 0) { moveDisc(num - 1, from_tower, temp_tower, to_tower); System.out.println("Move a disc from tower " + from_tower + " to " + to_tower); moves++; moveDisc(num - 1, temp_tower, to_tower, from_tower); } } public static void main(String[] args) { if (args.length != 1) { System.out.println("Please pass a number!"); return; } int number = Integer.parseInt(args[0]); moveDisc(number, 1, 3, 2); System.out.println(moves + " moves were made!"); } }