Inner reducing pattern printing
Given a number N, print the following pattern.
Examples :
Input : 4 Output : 4444444 4333334 4322234 4321234 4322234 4333334 4444444 Explanation: (1) Given value of n forms the outer-most rectangular box layer. (2) Value of n reduces by 1 and forms an inner rectangular box layer. (3) The step (2) is repeated until n reduces to 1. Input : 3 Output : 33333 32223 32123 32223 33333
C++
// C++ Program to print rectangular // inner reducing pattern #include <bits/stdc++.h> using namespace std; #define max 100 // function to Print pattern void print( int a[][max], int size) { for ( int i = 0; i < size; i++) { for ( int j = 0; j < size; j++) { cout << a[i][j]; } cout << endl; } } // function to compute pattern void innerPattern( int n) { // Pattern Size int size = 2 * n - 1; int front = 0; int back = size - 1; int a[max][max]; while (n != 0) { for ( int i = front; i <= back; i++) { for ( int j = front; j <= back; j++) { if (i == front || i == back || j == front || j == back) a[i][j] = n; } } ++front; --back; --n; } print(a, size); } // Driver code int main() { // Input int n = 4; // function calling innerPattern(n); return 0; } // This code is contributed by Anant Agarwal. |
Java
// Java Program to print rectangular // inner reducing pattern public class Pattern { // function to compute pattern public static void innerPattern( int n) { // Pattern Size int size = 2 * n - 1 ; int front = 0 ; int back = size - 1 ; int a[][] = new int [size][size]; while (n != 0 ) { for ( int i = front; i <= back; i++) { for ( int j = front; j <= back; j++) { if (i == front || i == back || j == front || j == back) a[i][j] = n; } } ++front; --back; --n; } print(a, size); } // function to Print pattern public static void print( int a[][], int size) { for ( int i = 0 ; i < size; i++) { for ( int j = 0 ; j < size; j++) { System.out.print(a[i][j]); } System.out.println(); } } // Main Method public static void main(String[] args) { int n = 4 ; // Input innerPattern(n); } } |
Python3
# Python3 Program to print rectangular # inner reducing pattern MAX = 100 # function to Print pattern def prints(a, size): for i in range (size): for j in range (size): print (a[i][j], end = '') print () # function to compute pattern def innerPattern(n): # Pattern Size size = 2 * n - 1 front = 0 back = size - 1 a = [[ 0 for i in range ( MAX )] for i in range ( MAX )] while (n ! = 0 ): for i in range (front, back + 1 ): for j in range (front, back + 1 ): if (i = = front or i = = back or j = = front or j = = back): a[i][j] = n front + = 1 back - = 1 n - = 1 prints(a, size); # Driver code # Input n = 4 # function calling innerPattern(n) # This code is contributed # by sahishelangia |
C#
// C# Program to print rectangular // inner reducing pattern using System; public class Pattern { // function to compute pattern public static void innerPattern(int n) { // Pattern Size int size = 2 * n - 1; int front = 0; int back = size - 1; int [ ,]a = new int[size,size]; while (n != 0) { for (int i = front; i <= back; i++) { for (int j = front; j <= back; j++) { if (i == front || i == back || j == front || j == back) a[i,j] = n; } } ++front; --back; --n; } print(a, size); } // function to Print pattern public static void print(int [ ,]a , int size) { for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { Console.Write(a[i,j]); } Console.WriteLine(); } } // Main Method public static void Main() { int n = 4; // Input innerPattern(n); } } /*This code is contributed by vt_m.*/ |
PHP
<?php // PHP implementation to print // rectangular inner reducing pattern $max =100; // function to Print pattern function print1( $a , $size ) { for ( $i = 0; $i < $size ; $i ++) { for ( $j = 0; $j < $size ; $j ++) { echo $a [ $i ][ $j ]; } echo "\n" ; } } // function to compute pattern function innerPattern( $n ) { // Pattern Size $size = 2 * $n - 1; $front = 0; $back = $size - 1; $a ; while ( $n != 0) { for ( $i = $front ; $i <= $back ; $i ++) { for ( $j = $front ; $j <= $back ; $j ++) { if ( $i == $front || $i == $back || $j == $front || $j == $back ) $a [ $i ][ $j ] = $n ; } } ++ $front ; -- $back ; -- $n ; } print1( $a , $size ); } // Driver code $n = 4; innerPattern( $n ); // This code is contributed by mits ?> |
Output :
4444444 4333334 4322234 4321234 4322234 4333334 4444444
This article is contributed by Vigneshwaran Kannan. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.