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(); } } }