/* * File: /home/cs1/Java/Hanoi.java * Author: Stephen Gilmore * Date: 21st November 2002 * Copyright: School of Informatics, The University of Edinburgh */ class Hanoi { // n = num disks to move, src = source, dst = destination static void hanoi(int n, char src, char dst) { if (n == 1) System.out.println ("Move disk from " + src + " to " + dst); else { char spare = (char) (('A' + 'B' + 'C') - (src + dst)); hanoi (n - 1, src, spare); hanoi (1, src, dst); hanoi (n - 1, spare, dst); } } public static void main (String[] args) { int n = Integer.parseInt(args[0]); hanoi(n, 'A', 'B'); } }