Pascal's Triangle Format

Sidarth Shahri picture Sidarth Shahri · Nov 12, 2013 · Viewed 51.4k times · Source

The assignment is to create Pascal's Triangle without using arrays. I have the method that produces the values for the triangle below. The method accepts an integer for the maximum number of rows the user wants printed.

public static void triangle(int maxRows) {
    int r, num;
    for (int i = 0; i <= maxRows; i++) {
        num = 1;
        r = i + 1;
        for (int col = 0; col <= i; col++) {
            if (col > 0) {
                num = num * (r - col) / col;    
            }
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

I need to format the values of the triangle such that it looks like a triangle:

              1
            1   1
          1   2   1
        1   3   3   1
      1   4   6   4   1
    1   5  10  10   5   1
  1   6  15  20  15   6   1

I can't for the life of me figure out how to do that. Please answer keeping in mind that I'm a beginner in Java programming.

Answer

Boa Hancock picture Boa Hancock · Apr 9, 2016
public static long pascalTriangle(int r, int k) {
    if (r == 1 || k <= 1 || k >= r) return 1L;
    return pascalTriangle(r - 1, k - 1) + pascalTriangle(r - 1, k);
}

This method allows you to find the k-th value of r-th row.