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