Pascal Matrix

07 Jan, 2022
In mathematics, particularly in matrix theory and combinatorics, the Pascal Matrix is an infinite matrix containing the binomial coefficients as its elements. There are three ways to achieve this: as either an upper-triangular matrix, a lower-triangular matrix, or a symmetric matrix. The 5 x 5 truncations of these are shown below:  
The elements of the symmetric Pascal Matrix are the binomial coefficient, i.e  
Given a positive integer n. The task is to print the Symmetric Pascal Matrix of size n x n. Examples: 
Input : n = 5
Output :
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
Below is the code to implement n x n symmetric pascal matrix: 
C++
Java
Python3
C#
PHP
Javascript
// CPP Program to print symmetric pascal matrix.#include <bits/stdc++.h>using namespace std; // Print Pascal Matrixvoid printpascalmatrix(int n){    int C[2 * n + 1][2 * n + 1] = { 0 };     // Calculate value of Binomial Coefficient in    // bottom up manner    for (int i = 0; i <= 2 * n; i++) {        for (int j = 0; j <= min(i, 2 * n); j++) {             // Base Cases            if (j == 0 || j == i)                C[i][j] = 1;             // Calculate value using previously            // stored values            else                C[i][j] = C[i - 1][j - 1] + C[i - 1][j];        }    }     // Printing the pascal matrix    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++)            cout << C[i + j][i] << " ";         cout << endl;    }} // Driven Programint main(){    int n = 5;    printpascalmatrix(n);    return 0;}
// java Program to print// symmetric pascal matrix.import java.io.*; class GFG{    // Print Pascal Matrix    static void printpascalmatrix(int n)    {        int C[][] = new int[2 * n + 1][2 * n + 1];             // Calculate value of Binomial Coefficient in        // bottom up manner        for (int i = 0; i <= 2 * n; i++)        {            for (int j = 0; j <= Math.min(i, 2 * n); j++)            {                // Base Cases                if (j == 0 || j == i)                    C[i][j] = 1;                     // Calculate value using previously                // stored values                else                    C[i][j] = C[i - 1][j - 1]                              + C[i - 1][j];            }        }             // Printing the pascal matrix        for (int i = 0; i < n; i++)        {            for (int j = 0; j < n; j++)                System.out.print ( C[i + j][i] +" ");                System.out.println();                 }    }         // Driven Program    public static void main (String[] args)    {        int n = 5;        printpascalmatrix(n);         }} // This code is contributed by vt_m.
# Python3 Program to print# symmetric pascal matrix. # Print Pascal Matrixdef printpascalmatrix(n):    C = [[0 for x in range(2 * n + 1)]            for y in range(2 * n + 1)]                 # Calculate value of    # Binomial Coefficient    # in bottom up manner    for i in range(2 * n + 1):        for j in range(min(i, 2 * n) + 1):                         # Base Cases            if (j == 0 or j == i):                C[i][j] = 1;                             # Calculate value            # using previously            # stored values            else:                C[i][j] = (C[i - 1][j - 1] +                           C[i - 1][j]);         # Printing the    # pascal matrix    for i in range(n):        for j in range(n):            print(C[i + j][i],                   end = " ");        print();     # Driver Coden = 5;printpascalmatrix(n); # This code is contributed by mits
// C# program to print// symmetric pascal matrix.using System; class GFG {         // Print Pascal Matrix    static void printpascalmatrix(int n)    {        int[, ] C = new int[2 * n + 1, 2 * n + 1];         // Calculate value of Binomial Coefficient        // in bottom up manner        for (int i = 0; i <= 2 * n; i++) {                         for (int j = 0; j <= Math.Min(i, 2 * n); j++) {                                 // Base Cases                if (j == 0 || j == i)                    C[i, j] = 1;                 // Calculate value using previously                // stored values                else                    C[i, j] = C[i - 1, j - 1]                            + C[i - 1, j];            }        }         // Printing the pascal matrix        for (int i = 0; i < n; i++) {            for (int j = 0; j < n; j++)                Console.Write(C[i + j, i] + " ");            Console.WriteLine();        }    }     // Driven Program    public static void Main()    {        int n = 5;        printpascalmatrix(n);    }} // This code is contributed by vt_m.
<?php// PHP Program to print symmetric// pascal matrix. // Print Pascal Matrixfunction printpascalmatrix($n){    $C[2 * $n + 1][2 * $n + 1] = (0);     // Calculate value of Binomial    // Coefficient in bottom up manner    for ($i = 0; $i <= 2 * $n; $i++)    {        for ($j = 0; $j <= min($i, 2 * $n); $j++)        {             // Base Cases            if ($j == 0 || $j == $i)                $C[$i][$j] = 1;             // Calculate value            // using previously            // stored values            else                $C[$i][$j] = $C[$i - 1][$j - 1] +                                 $C[$i - 1][$j];        }    }     // Printing the pascal matrix    for ($i = 0; $i < $n; $i++) {        for ( $j = 0; $j < $n; $j++)            echo $C[$i + $j][$i], " ";         echo "\n";    }}         // Driver Code    $n = 5;    printpascalmatrix($n); // This code is contributed by aj_36?>
<script> // JavaScript Program to print// symmetric pascal matrix.     // Print Pascal Matrix    function printpascalmatrix(n)    {        let C = new Array(2 * n + 1);                 // Loop to create 2D array using 1D array        for (var i = 0; i < C.length; i++) {            C[i] = new Array(2);        }               // Calculate value of Binomial Coefficient in        // bottom up manner        for (let i = 0; i <= 2 * n; i++)        {            for (let j = 0; j <= Math.min(i, 2 * n); j++)            {                // Base Cases                if (j == 0 || j == i)                    C[i][j] = 1;                       // Calculate value using previously                // stored values                else                    C[i][j] = C[i - 1][j - 1]                              + C[i - 1][j];            }        }               // Printing the pascal matrix        for (let i = 0; i < n; i++)        {            for (let j = 0; j < n; j++)                document.write( C[i + j][i] +" ");                document.write("<br/>");                   }    }  // Driver code                 let n = 5;        printpascalmatrix(n);                   </script>
Output: 
1 1 1 1 1
1 2 3 4 5
1 3 6 10 15
1 4 10 20 35
1 5 15 35 70
jit_t
Mithun Kumar
sanjoy_62
surinderdawra388
binomial coefficient
Mathematical
Matrix
Mathematical
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Merge two sorted arrays with O(1) extra space
Program to print prime numbers from 1 to N.
Segment Tree | Set 1 (Sum of given range)
Check if a number is Palindrome
Print a given matrix in spiral form
Matrix Chain Multiplication | DP-8
Program to find largest element in an array
Rat in a Maze | Backtracking-2
Sudoku | Backtracking-7