Saturday, September 27, 2025
HomeLanguagesJavaJava Program to Print Star Pascal’s Triangle

Java Program to Print Star Pascal’s Triangle

Pascal’s triangle is a triangular array of the binomial coefficients. Write a function that takes an integer value n as input and prints the first n lines of Pascal’s triangle. Following are the first 6 rows of Pascal’s Triangle.In this article, we will look into the process of printing Pascal’s triangle. Pascal’s triangle is a pattern of the triangle which is based on nCr.below is the pictorial representation of Pascal’s triangle.

Illustration:

Input : N = 5
Output:
          1
        1   1
      1   2   1
    1   3   3   1
  1   4   6   4   1
1   5   10   10   5   1

Methods: 

There are two approaches for the same. Let’s check them out.

  1. Using nCr formula
  2. Using Binomial Coefficient

Method 1: Using nCr formula

Implementation: Follow the below algorithm for printing Pascal’s triangle using the nCr formula

  • Let n be the number of rows to be printed
  • Use outer iteration a from 0 to k times to print the rows
  • Make inner iteration for b from 0 to (K – 1).
  • Then print space as ” “.
  • Close the inner ‘b’ loop.
  • Make inner iteration for b from ‘0’ to ‘a’.
  • Output nCr of ‘a’ and ‘b’.
  • Close inner loop.
  • Print newline character (\n) after each inner iteration.

Example

Java




// Java Program to Print Pascal's Triangle
 
// Importing input output classes
import java.io.*;
 
// Main Class
public class GFG {
 
    // Method 1
    // To find factorial of a number
    public int factorial(int a)
    {
        // Edge case
        // Factorial of 0 is unity
        if (a == 0)
 
            // Hence return 1
            return 1;
 
        // else recursively call the function over the
        // number whose factorial is to be computed
        return a * factorial(a - 1);
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Declare and initialize number whose
        // factorial is to be computed
        int k = 4;
 
        int a, b;
 
        // Creating an object of GFG class
        // in the main() method
        GFG g = new GFG();
 
        // iterating using nested for loop to traverse over
        // matrix
 
        // Outer for loop
        for (a = 0; a <= k; a++) {
 
            // Inner loop 1
            for (b = 0; b <= k - a; b++) {
 
                // Print white space for left spacing
                System.out.print(" ");
            }
 
            // Inner loop 2
            for (b = 0; b <= a; b++) {
 
                // nCr formula
                System.out.print(
                    " "
                    + g.factorial(a)
                          / (g.factorial(a - b)
                             * g.factorial(b)));
            }
 
            // By now, we are done with one row so
            // a new line
            System.out.println();
        }
    }
}


Output

      1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1

Time complexity: O(2n) due to recursive method

Auxiliary Space: O(n) due to recursive stack space

Method 2: Using Binomial Coefficient

The ‘A’th entry in a line number line is Binomial Coefficient C(line, a) and all lines start with value 1. The idea is to calculate C(line, a) using C(line, a-1).  

C(line, i) = C(line, i-1) * (line - i + 1) / i

Implementation:

Example 

Java




// Java Program to Print Pascal's Triangle
 
// Importing input output classes
import java.io.*;
 
// Main Class
public class GFG {
 
    // Method 1
    // Pascal function
    public static void printPascal(int k)
    {
        for (int line = 1; line <= k; line++) {
            for (int b = 0; b <= k - line; b++) {
 
                // Print whitespace for left spacing
                System.out.print(" ");
            }
 
            // Variable used to represent C(line, i)
            int C = 1;
 
            for (int a = 1; a <= line; a++) {
 
                // The first value in a line is always 1
                System.out.print(C + " ");
               
                C = C * (line - a) / a;
            }
 
            // By now, we are done with one row so
            // a new line is required
            System.out.println();
        }
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Declare and initialize variable number
        // upto which Pascal's triangle is  required on
        // console
        int n = 6;
 
        // Calling the Pascal function(Method 1)
        printPascal(n);
    }
}


Output

      1 
     1 1 
    1 2 1 
   1 3 3 1 
  1 4 6 4 1 
 1 5 10 10 5 1 

Time complexity: O(n^2) where n is given input for no of rows of pascal triangle

Auxiliary Space: O(1)
 

RELATED ARTICLES

Most Popular

Dominic
32322 POSTS0 COMMENTS
Milvus
84 POSTS0 COMMENTS
Nango Kala
6690 POSTS0 COMMENTS
Nicole Veronica
11857 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11913 POSTS0 COMMENTS
Shaida Kate Naidoo
6805 POSTS0 COMMENTS
Ted Musemwa
7073 POSTS0 COMMENTS
Thapelo Manthata
6763 POSTS0 COMMENTS
Umr Jansen
6768 POSTS0 COMMENTS