# Program to Print Pascal Triangle in Java

Pascal’s triangle is a set of numbers arranged in the form of a triangle. Each number in a row is the sum of the left number and right number on the above row. If a number is missing in the above row, it is assumed to be 0. The first row starts with number 1. The following is a Pascal triangle with 5 rows,

1 |
||||||||

1 |
1 |
|||||||

1 |
2 |
1 |
||||||

1 |
3 |
3 |
1 |
|||||

1 |
4 |
6 |
4 |
1 |

The triangle is named after the French mathematician Blaise Pascal who organized detailed information on the triangle in a book. However this triangle was known in many ancient civilizations.

Pascal’s triangle has a number of unique properties,

- The sum of numbers in each row is twice the sum of numbers in the above row
- The diagonals adjacent to the border diagonals contains natural numbers in order

## Generate Pascal’s Triangle in Java

The following Java program prints Pascal’s triangle with 10 rows.

/* Program to print pascal triangle for 10 rows in java */ public class PascalTriangle { public static void main(String[] args) { int rows = 10; for(int i =0;i<rows;i++) { int number = 1; System.out.format("%"+(rows-i)*2+"s",""); for(int j=0;j<=i;j++) { System.out.format("%4d",number); number = number * (i - j) / (j + 1); } System.out.println(); } } }

Note the formatting commands used above to create a nicely formatted triangle. %4d instructs the formatter to print the number within 4 spaces. We choose 4 since we know the maximum number of digits in the largest number of a Pascal triangle with 10 rows is 3 digits.

The following program prints a Pascal’s triangle when the number of rows are given as a parameter,

/* Program to print pascal triangle for 10 rows in java */ public class PascalTriangle { public static void main(String[] args) { int rows = Integer.parseInt(args[0]); for(int i =0;i<rows;i++) { int number = 1; System.out.format("%"+(rows-i)*2+"s",""); for(int j=0;j<=i;j++) { System.out.format("%4d",number); number = number * (i - j) / (j + 1); } System.out.println(); } } }