Program to print number pattern

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++
// 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 Code int main() { display(); return 0; } // This code is contributed by Nikita tiwari. |
Java
// Java program to print above pattern import 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(); } } |
Python3
# 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 Code display() #This code is contributed by Nikita Tiwari. |
C#
// C# program to print above pattern using 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 // 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 ?> |
Javascript
<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.
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



