Open In App

Python program to print Pascal's Triangle

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Pascal's triangle is a pattern of the triangle which is based on nCr, below is the pictorial representation of Pascal's triangle.

Example:

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

Method 1: Using nCr formula i.e. n!/(n-r)!r!

After using nCr formula, the pictorial representation becomes:

          0C0
1C0 1C1
2C0 2C1 2C2
3C0 3C1 3C2 3C3

Algorithm:

  • Take a number of rows to be printed, lets assume it to be n
  • Make outer iteration i from 0 to n times to print the rows.
  • Make inner iteration for j from 0 to (N - 1).
  • Print single blank space " ".
  • Close inner loop (j loop) //its needed for left spacing.
  • Make inner iteration for j from 0 to i.
  • Print nCr of i and j.
  • Close inner loop.
  • Print newline character (\n) after each inner iteration.

Implementation:

Python
# Print Pascal's Triangle in Python
from math import factorial

# input n
n = 5
for i in range(n):
    for j in range(n-i+1):

        # for left spacing
        print(end=" ")

    for j in range(i+1):

        # nCr = n!/((n-r)!*r!)
        print(factorial(i)//(factorial(j)*factorial(i-j)), end=" ")

    # for new line
    print()

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

Time complexity: O(N2)
Auxiliary space: O(1)

Method 2: We can optimize the above code by the following concept of a Binomial Coefficient, the i’th entry in a line number line is Binomial Coefficient C(line, i) and all lines start with value 1. The idea is to calculate C(line, i) using C(line, i-1).

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

Implementations:

Python
# Print Pascal's Triangle in Python

# input n
n = 5

for i in range(1, n+1):
    for j in range(0, n-i+1):
        print(' ', end='')

    # first element is always 1
    C = 1
    for j in range(1, i+1):

        # first value in a line is always 1
        print(' ', C, sep='', end='')

        # using Binomial Coefficient
        C = C * (i - j) // j
    print()

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

Time complexity: O(N2)
Auxiliary Space: O(1)

Method 3: The code prints Pascal's Triangle up to the 6th row. It iterates through each row and calculates each value using the binomial coefficient formula, which is

\frac{n!}{k! (n-k)!}

where n is the row number and k is the position in the row.

Implementation:

Python
# Print Pascal's Triangle in Python

# input n
n = 6

# iterate up to n
for i in range(n):
    # adjust space
    print(' '*(n-i), end='')

    # compute each value in the row
    coef = 1
    for j in range(0, i + 1):
        print(coef, end=' ')
        coef = coef * (i - j) // (j + 1)
    print()

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)
Auxiliary Space: O(N^2)


Python program to Print Pascal’s Triangle

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy