内还原印花

给定一个数字N,打印以下图案。

null

例如:

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 "" ;
}
}
// 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
?>


输出:

4444444
4333334
4322234
4321234
4322234
4333334
4444444

本文由 维涅斯瓦兰·坎南 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享