We have to print the pattern as given in the below example.
Examples :
Input : 5
Output :
1
1*2
1*2*3
1*2
1
Input : 9
Output :
1
1*2
1*2*3
1*2*3*4
1*2*3*4*5
1*2*3*4
1*2*3
1*2
1
#include <iostream>
using namespace std;
// C++ program to print above pattern
void display(int n)
{
// 'sp' used for space and 'st' used for star
int sp = n / 2, st = 1;
// Outer for loop prints number of lines
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= sp; j++) {
cout << " ";
}
int count = 1;
for (int k = 1; k <= st; k++) {
if (k % 2 == 0)
cout << "*";
else
cout << count++;
}
cout << "\n";
if (i <= n / 2) {
// Before reaching to half after
// every line space is decreased
// by 1 and star is increased by 2
sp = sp - 1;
st = st + 2;
}
else {
// After reaching to half
// space is increased by 1
// and star is decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver Code
int main()
{
int n = 5;
display(n);
return 0;
}
// This code is contributed by vt_m
// Java program to print above pattern
import java.util.Scanner;
class Pattern
{
void display(int n)
{
// 'sp' used for space and 'st' used for star
int sp = n / 2, st = 1;
// Outer for loop prints number of lines
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= sp; j++)
{
System.out.print(" ");
}
int count = 1;
for (int k = 1; k <= st; k++)
{
if (k % 2 == 0)
System.out.print("*");
else
System.out.print(count++);
}
System.out.println();
if (i <= n / 2)
{
// Before reaching to half after
// every line space is decreased
// by 1 and star is increased by 2
sp = sp - 1;
st = st + 2;
}
else
{
// After reaching to half
// space is increased by 1
// and star is decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver Code
public static void main(String[] args)
{
int n = 5;
Pattern p = new Pattern();
p.display(n);
}
}
# Python3 program to print above pattern
def display(n):
# 'sp' used for space and
# 'st' used for star
sp = n // 2
st = 1
# Outer for loop prints number
# of lines
for i in range(1, n + 1):
for j in range(1, sp + 1):
print(end = " ")
count = 1
for k in range(1, st + 1):
if (k % 2 == 0):
print("*", end = "")
else:
print(count, end = "")
count += 1
print()
if (i <= n // 2):
# Before reaching to half after
# every line space is decreased
# by 1 and star is increased by 2
sp = sp - 1
st = st + 2
else:
# After reaching to half
# space is increased by 1
# and star is decreased by 2
sp = sp + 1
st = st - 2
# Driver Code
n = 5
display(n)
# This code is contributed by
# Mohit kumar 29
// C# program to print above pattern
using System;
class Pattern
{
void display(int n)
{
// 'sp' used for space and 'st' used for star
int sp = n / 2, st = 1;
// Outer for loop prints number of lines
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= sp; j++)
{
Console.Write(" ");
}
int count = 1;
for (int k = 1; k <= st; k++)
{
if (k % 2 == 0)
Console.Write("*");
else
Console.Write(count++);
}
Console.WriteLine();
if (i <= n / 2)
{
// Before reaching to half after
// every line space is decreased
// by 1 and star is increased by 2
sp = sp - 1;
st = st + 2;
}
else
{
// After reaching to half
// space is increased by 1
// and star is decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver Code
public static void Main()
{
int n = 5;
Pattern p = new Pattern();
p.display(n);
}
}
//This code is contributed by vt_m.
<?php
// php program to print
// above pattern
function display($n)
{
// 'sp' used for space and
// 'st' used for star
$sp = $n / 2;
$st = 1;
// Outer for loop prints
// number of lines
for ($i = 1; $i <= $n; $i++)
{
for ($j = 1; $j <= $sp; $j++)
{
echo " ";
}
$count = 1;
for ($k = 1; $k <= $st; $k++)
{
if ($k % 2 == 0)
echo "*";
else
echo $count++;
}
echo "\n";
if ($i <= $n / 2)
{
// Before reaching to half after
// every line space is decreased
// by 1 and star is increased by 2
$sp = $sp - 1;
$st = $st + 2;
}
else
{
// After reaching to half
// space is increased by 1
// and star is decreased by 2
$sp = $sp + 1;
$st = $st - 2;
}
}
}
// Driver Code
$n = 5;
display($n);
// This code is contributed by mits
?>
<script>
// JavaScript program to print above pattern
function display(n)
{
// 'sp' used for space and 'st' used for star
var sp = n / 2,
st = 1;
// Outer for loop prints number of lines
for (var i = 1; i <= n; i++) {
for (var j = 1; j <= sp; j++) {
document.write(" ");
}
var count = 1;
for (var k = 1; k <= st; k++) {
if (k % 2 == 0)
document.write("*");
else
document.write(count++);
}
document.write("<br>");
if (i <= n / 2)
{
// Before reaching to half after
// every line space is decreased
// by 1 and star is increased by 2
sp = sp - 1;
st = st + 2;
} else
{
// After reaching to half
// space is increased by 1
// and star is decreased by 2
sp = sp + 1;
st = st - 2;
}
}
}
// Driver Code
var n = 5;
display(n);
</script>
Output:
1 1*2 1*2*3 1*2 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.