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.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!