Skip to content
Related Articles

Related Articles

Java Program to Print Star Pascal’s Triangle
  • Last Updated : 17 Mar, 2021

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 facoial is to be computed
        return a * factorial(a - 1);
    }
  
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Decare 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

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
        // uoto 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 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :