Program to print number pattern

04 Jun, 2022
We have to print a pattern where in middle column contains only 1, right side columns contain constant digit which is greater than 1 and left side columns contains constant digit which is greater than 1. Every row should look like a Palindrome.
Examples : 
Input : 3
Output :
    1
 2  1  2
    1

Input : 5
Output :
     1
  2  1  2
3 2  1  2 3
  2  1  2
     1
Below is the implementation to print the following pattern :
C++
Java
Python3
C#
PHP
Javascript
// CPP program to print pattern#include <bits/stdc++.h>using namespace std; void display(){         int n = 5;    int space = n / 2, num = 1;          // Outer for loop for    // number of rows    for (int i = 1; i <= n; i++)    {        // Inner for loop for        // printing space        for (int j = 1; j <= space; j++)                       cout<<" ";                  // Logic for printing        // the pattern for everyline        int count = num / 2 + 1;                 for (int k = 1; k <= num; k++)        {            cout<<count;                         // Value of count decrements            // in every cycle            if (k <= num /2 )                count--;             // Value of count will            // increment in every cycle            else                count++;        }         cout<<"\n";         // Before reaching half Space        // is decreased by 1 and num        // is increased by 2        if (i <= n / 2)        {            space = space - 1;            num = num + 2;        }         // After reaching to half        // space is increased by 1        // and num is decreased by 2        else        {            space = space + 1;            num = num - 2;        }    }} // Driver Codeint main(){    display();    return 0;} // This code is contributed by Nikita tiwari.
// Java program to print above patternimport java.util.Scanner;class Pattern{    void display()    {        int n = 5;        int space = n / 2, num = 1;                 // Outer for loop for        // number of rows        for (int i = 1; i <= n; i++)        {            // Inner for loop            // for printing space            for (int j = 1; j <= space; j++)                           System.out.print(" ");                         // Logic for printing            // the pattern for everyline            int count = num / 2 + 1;            for (int k = 1; k <= num; k++)            {                System.out.print(count);                // Value of count decrements                // in every cycle                if (k <= num /2 )                    count--;                 // Value of count will increment                // in every cycle                else                    count++;            }             System.out.println();             // Before reaching half Space is decreased            // by 1 and num is increased by 2            if (i <= n / 2)            {                space = space - 1;                num = num + 2;            }             // After reaching to half space is increased            // by 1 and num is decreased by 2            else            {                space = space + 1;                num = num - 2;            }        }    }     // Driver Code    public static void main(String[] args)    {        Pattern p = new Pattern();        p.display();    }}
# Python 3 program to# print above pattern def display() :    n = 5    space = n // 2    num = 1         # Outer for loop for    # number of rows    for i in range(1, n+1) :                 # Inner for loop for         # printing space        for j in range(1, space+1) :            print(" ", end = "")                     # Logic for printing the        # pattern for everyline        count = num // 2 + 1                 for k in range(1, num+1) :            print(count, end = "")                         # Value of count decrements            # in every cycle            if (k <= num // 2 ) :                count = count -1             # Value of count will            # increment in every cycle            else :                count = count + 1        print()         # Before reaching half Space        # is decreased by 1 and num        # is increased by 2        if (i <= n // 2) :            space = space - 1            num = num + 2                 # After reaching to half        # space is increased by 1        # and num is decreased by 2        else :            space = space + 1            num = num - 2             # Driver Codedisplay() #This code is contributed by Nikita Tiwari.
// C# program to print above patternusing System;class Pattern{    void display()    {        int n = 5;        int space = n / 2, num = 1;                 // Outer for loop for        // number of rows        for (int i = 1; i <= n; i++)        {            // Inner for loop            // for printing space            for (int j = 1; j <= space; j++)                       Console.Write(" ");                         // Logic for printing            // the pattern for everyline            int count = num / 2 + 1;            for (int k = 1; k <= num; k++)            {                Console.Write(count);                // Value of count decrements                // in every cycle                if (k <= num /2 )                    count--;                 // Value of count will increment                // in every cycle                else                    count++;            }             Console.WriteLine();             // Before reaching half Space is decreased            // by 1 and num is increased by 2            if (i <= n / 2)            {                space = space - 1;                num = num + 2;            }             // After reaching to half space is increased            // by 1 and num is decreased by 2            else            {                space = space + 1;                num = num - 2;            }        }    }     // Driver Code    public static void Main()    {        Pattern p = new Pattern();        p.display();    }}// This code is contributed by vt_m.
<?php// php program to print// above pattern     function display($n)    {        $space = $n / 2;        $num = 1;                 // Outer for loop for        // number of rows        for ($i = 1; $i <= $n; $i++)        {            // Inner for loop            // for printing space            for ($j = 1; $j <= $space; $j++)                    echo " ";                         // Logic for printing            // the pattern for everyline            $count = $num / 2 + 1;            for ($k = 1; $k <= $num; $k++)            {                echo floor($count);                // Value of count decrements                // in every cycle                if ($k <= $num /2 )                    $count--;                 // Value of count will increment                // in every cycle                else                    $count++;            }             echo "\n";             // Before reaching half Space            // is decreased by 1 and            // num is increased by 2            if ($i <= $n / 2)            {                $space = $space - 1;                $num = $num + 2;            }             // After reaching to half            // space is increased by 1            // and num is decreased by 2            else            {                $space = $space + 1;                $num = $num - 2;            }        }    } // Driver Code$n = 5;display($n); // This code is contributed by mits?>
<script>  // JavaScript program to print pattern       function display() {        var n = 5;        var space = parseInt(n / 2),          num = 1;         // Outer for loop for        // number of rows                 for (var i = 1; i <= n; i++) {          // Inner for loop for          // printing space          for (var j = 1; j <= space; j++)          document.write("  ");           // Logic for printing          // the pattern for everyline          var count = parseInt(num / 2 + 1);           for (var k = 1; k <= num; k++) {            document.write(count);             // Value of count decrements            // in every cycle            if (k <= num / 2) count--;                         // Value of count will            // increment in every cycle            else count++;          }           document.write("<br>");           // Before reaching half Space          // is decreased by 1 and num          // is increased by 2          if (i <= n / 2) {            space = space - 1;            num = num + 2;          }           // After reaching to half          // space is increased by 1          // and num is decreased by 2          else {            space = space + 1;            num = num - 2;          }        }      }       // Driver Code             display();       </script>
Output : 
  1
 212
32123
 212
  1
Time Complexity: O(n2), where n represents the given input.Auxiliary Space: O(1), no extra space is required, so it is a constant.
Mithun Kumar
rdtank
sweetyty
samim2000
pattern-printing
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Constructors in Java
Exceptions in Java
Python Exception Handling
Python Try Except
Ternary Operator in Python
How JVM Works - JVM Architecture?
Python program to add two numbers
Variables in Java
Data types in Java
Difference between Abstract Class and Interface in Java