Open In App

Program to print number with star pattern

Last Updated : 17 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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

 

 

C++




#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




// 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




# 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#




// 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
// 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 
?>


Javascript




<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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads