Program to print number pattern
Last Updated :
17 Feb, 2023
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++
#include <bits/stdc++.h>
using namespace std;
void display()
{
int n = 5;
int space = n / 2, num = 1;
for ( int i = 1; i <= n; i++)
{
for ( int j = 1; j <= space; j++)
cout<< " " ;
int count = num / 2 + 1;
for ( int k = 1; k <= num; k++)
{
cout<<count;
if (k <= num /2 )
count--;
else
count++;
}
cout<< "\n" ;
if (i <= n / 2)
{
space = space - 1;
num = num + 2;
}
else
{
space = space + 1;
num = num - 2;
}
}
}
int main()
{
display();
return 0;
}
|
Java
import java.util.Scanner;
class Pattern
{
void display()
{
int n = 5 ;
int space = n / 2 , num = 1 ;
for ( int i = 1 ; i <= n; i++)
{
for ( int j = 1 ; j <= space; j++)
System.out.print( " " );
int count = num / 2 + 1 ;
for ( int k = 1 ; k <= num; k++)
{
System.out.print(count);
if (k <= num / 2 )
count--;
else
count++;
}
System.out.println();
if (i <= n / 2 )
{
space = space - 1 ;
num = num + 2 ;
}
else
{
space = space + 1 ;
num = num - 2 ;
}
}
}
public static void main(String[] args)
{
Pattern p = new Pattern();
p.display();
}
}
|
Python3
def display() :
n = 5
space = n / / 2
num = 1
for i in range ( 1 , n + 1 ) :
for j in range ( 1 , space + 1 ) :
print ( " " , end = "")
count = num / / 2 + 1
for k in range ( 1 , num + 1 ) :
print (count, end = "")
if (k < = num / / 2 ) :
count = count - 1
else :
count = count + 1
print ()
if (i < = n / / 2 ) :
space = space - 1
num = num + 2
else :
space = space + 1
num = num - 2
display()
|
C#
using System;
class Pattern
{
void display()
{
int n = 5;
int space = n / 2, num = 1;
for ( int i = 1; i <= n; i++)
{
for ( int j = 1; j <= space; j++)
Console.Write( " " );
int count = num / 2 + 1;
for ( int k = 1; k <= num; k++)
{
Console.Write(count);
if (k <= num /2 )
count--;
else
count++;
}
Console.WriteLine();
if (i <= n / 2)
{
space = space - 1;
num = num + 2;
}
else
{
space = space + 1;
num = num - 2;
}
}
}
public static void Main()
{
Pattern p = new Pattern();
p.display();
}
}
|
PHP
<?php
function display( $n )
{
$space = $n / 2;
$num = 1;
for ( $i = 1; $i <= $n ; $i ++)
{
for ( $j = 1; $j <= $space ; $j ++)
echo " " ;
$count = $num / 2 + 1;
for ( $k = 1; $k <= $num ; $k ++)
{
echo floor ( $count );
if ( $k <= $num /2 )
$count --;
else
$count ++;
}
echo "\n" ;
if ( $i <= $n / 2)
{
$space = $space - 1;
$num = $num + 2;
}
else
{
$space = $space + 1;
$num = $num - 2;
}
}
}
$n = 5;
display( $n );
?>
|
Javascript
<script>
function display() {
var n = 5;
var space = parseInt(n / 2),
num = 1;
for ( var i = 1; i <= n; i++) {
for ( var j = 1; j <= space; j++)
document.write( " " );
var count = parseInt(num / 2 + 1);
for ( var k = 1; k <= num; k++) {
document.write(count);
if (k <= num / 2) count--;
else count++;
}
document.write( "<br>" );
if (i <= n / 2) {
space = space - 1;
num = num + 2;
}
else {
space = space + 1;
num = num - 2;
}
}
}
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...