package mar15;

import java.awt.Color;
import stdlib.StdDraw;

public class Main {

    public static long factorial (int n) {
        if (n == 0) {
            return 1;
        }
        else {
            return n * factorial(n - 1);
        }
    }

    public static void main(String[] args) {

        for (int n = 0; n <= 20; n++) {
            System.out.printf ("%10d %10d\n", n, factorial(n));
        }

        int ndisks = Integer.parseInt(args[0]);
        hanoi (ndisks, 'A', 'B', 'C');

        StdDraw.setXscale(-2, 2);
        StdDraw.setYscale(-2, 2);
        StdDraw.setPenColor(StdDraw.LIGHT_GRAY);
        StdDraw.line(-2, 0, 2, 0);
        StdDraw.line(0, -2, 0, 2);
        StdDraw.setPenColor(StdDraw.BLACK);
        //StdDraw.filledCircle(0, 0, 1);


        double [] x = { -1, 1 , 0 };
        double [] y = { -1, -1, 1 };

        StdDraw.polygon(x,y);
    }

    public static void hanoi (int n, char x, char y, char z) {
        if (n > 0) {
            hanoi (n - 1, x, z, y);
            System.out.println("Move " + x + " to " + z);
            hanoi (n - 1, y, x, z);
        }
    }

}
