//  Data Structures with Java by John R. Hubbard
//  Copyright McGraw-Hill, 2001
//  Problem 2.21 on page 47
//  Pascal's Triangle

public class Pr0221
{ private static final int N=9;

  public static void main(String[] args)
  { int[][] p = pascal(N);
    for (int i=0; i<N; i++)
    { for (int j=0; j<N; j++)
        System.out.print("\t" + p[i][j]);
      System.out.println();
    }
  }

  private static int[][] pascal(int n)
  { int[][] p = new int[n][n];
    for (int j=0; j<n; j++)
      p[j][0] = p[j][j] = 1;
    for (int i=2; i<n; i++)
      for (int j=1; j<i; j++)
        p[i][j] = p[i-1][j-1] + p[i-1][j];
    return p;
  } 
}
