If you have a few years of experience in the Java ecosystem and you'd like to share that with the community, have a look at our Contribution Guidelines.
Java Program to Print Pascal’s Triangle
Last modified: December 15, 2022
1. Overview
Pascal's triangle is an arrangement of binomial coefficients in triangular form. The numbers of Pascal's triangle are arranged so that each is the sum of the two numbers immediately above it.
In this tutorial, we'll see how to print Pascal’s triangle in Java.
2. Use Recursion
We can print Pascal's triangle using recursion with the formula nCr: n ! / ( ( n – r ) ! r ! )
First, let's create a recursive function:
public int factorial(int i) {
if (i == 0) {
return 1;
}
return i * factorial(i - 1);
}
Then we can print the triangle using that function:
private void printUseRecursion(int n) {
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 0; k <= i; k++) {
System.out.print(" " + factorial(i) / (factorial(i - k) * factorial(k)));
}
System.out.println();
}
}
The result with n = 5 will look like this:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
3. Avoid Using Recursion
Another way to print Pascal's triangle without recursion is to use binomial expansion.
We always have the value 1 at the beginning of each line, then the value of k at the (n) line and the (i) position will be calculated as:
k = ( k * (n - i) / i )
Let's create our function using this formula:
public void printUseBinomialExpansion(int n) {
for (int line = 1; line <= n; line++) {
for (int j = 0; j <= n - line; j++) {
System.out.print(" ");
}
int k = 1;
for (int i = 1; i <= line; i++) {
System.out.print(k + " ");
k = k * (line - i) / i;
}
System.out.println();
}
}
4. Conclusion
In this quick tutorial, we've learned two ways to print Pascal's triangle in Java.
The example code from this article can be found over on GitHub.