Open In App

Program to print Hut Star pattern

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given a number N such that N >= 5. The task is to print a Hut Star Pattern with (N + 3) rows as shown in the below examples.

Examples: 

Input: N = 5
Output:
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 
* * *       * * * 
* * *       * * * 
* * *       * * * 

Input: N = 7
Output:
            * 
          * * * 
        * * * * * 
      * * * * * * * 
    * * * * * * * * * 
  * * * * * * * * * * * 
* * * * * * * * * * * * * 
* * *               * * * 
* * *               * * * 
* * *               * * * 

Approach: The upper N rows of the pattern will be a triangle and the last 3 rows will contain two space-separated rectangles as shown in the above examples.  

  1. Firstly print the upper triangle with N rows.
  2. Then print the 2 lower rectangles of the Hut in 3 rows.

Below is the implementation of the above approach:  

C++




// C++ program to print
// the Hut Star Pattern
 
#include <iostream>
 
using namespace std;
 
// Function to print the Hut-Star Pattern
void printHutStar(int n)
{
    int i, j;
 
    // Printing the upper triangle
    for (i = 0; i < n; i++) {
 
        // Left space triangle
        for (j = i + 1; j < n; j++)
            cout << " " ;
 
        // Center Star triangle
        for (j = 0; j < (2 * i + 1); j++)
            cout << "*" ;
 
        cout << endl ;
    }
 
    // Printing Lower rectangles
    for (i = 0; i < 3; i++) {
 
        // Left rectangle
        for (j = 0; j < 3; j++)
            cout << "*" ;
 
        // Center Space rectangle
        for (j = 0; j < (2 * n - 7); j++)
            cout << " " ;
 
        // Right rectangle
        for (j = 0; j < 3; j++)
            cout << "*" ;
 
        cout << endl ;
    }
}
 
 
int main()
{
int n = 7;
 
    // function calling
    printHutStar(n);
 
return 0;
// This code is contributed
// by ANKITRAI1
}


Java




// Java program to print
// the Hut Star Pattern
   
public class GFG {
   
    // Function to print the Hut-Star Pattern
    static void printHutStar(int n)
    {
        int i, j;
   
        // Printing the upper triangle
        for (i = 0; i < n; i++) {
   
            // Left space triangle
            for (j = i + 1; j < n; j++)
                System.out.print(" ");
   
            // Center Star triangle
            for (j = 0; j < (2 * i + 1); j++)
                System.out.print("*");
   
            System.out.println();
        }
   
        // Printing Lower rectangles
        for (i = 0; i < 3; i++) {
   
            // Left rectangle
            for (j = 0; j < 3; j++)
                System.out.print("*");
   
            // Center Space rectangle
            for (j = 0; j < (2 * n - 7); j++)
                System.out.print(" ");
   
            // Right rectangle
            for (j = 0; j < 3; j++)
                System.out.print("*");
   
            System.out.println();
        }
    }
   
    // Driver Code
    public static void main(String args[])
    {
        int n = 7;
   
        printHutStar(n);
    }
}


Python3




# Python program to print
# the Hut Star Pattern
 
# Function to print the Hut-Star Pattern
def printHutStar(n):
 
    # Printing the upper triangle
    for i in range(n):
 
        # Left space triangle
        for j in range(i + 1, n):
            print(' ', end = '')
 
        # Center Star triangle
        for j in range(0, 2 * i + 1):
            print('*', end = '')
        print()
 
    # Printing the lower rectangles
    for i in range(3):
 
        # Left rectangle
        for j in range(3):
            print('*', end = '')
  
        # Center Space rectangle
        for j in range(2 * n - 7):
            print(' ', end = '')
 
        # Right rectangle
        for j in range(3):
            print('*', end = '')
        print()
 
# Driver Code
n = 7
 
# function calling
printHutStar(n)
 
# This code is contributed
# by SamyuktaSHegde


C#




// C# program to print
// the Hut Star Pattern
using System;
 
class GFG {
 
    // Function to print the Hut-Star Pattern
    static void printHutStar(int n)
    {
        int i, j;
 
        // Printing the upper triangle
        for (i = 0; i < n; i++) {
 
            // Left space triangle
            for (j = i + 1; j < n; j++)
                Console.Write(" ");
 
            // Center Star triangle
            for (j = 0; j < (2 * i + 1); j++)
                Console.Write("*");
 
            Console.Write("\n");
        }
 
        // Printing Lower rectangles
        for (i = 0; i < 3; i++) {
 
            // Left rectangle
            for (j = 0; j < 3; j++)
                Console.Write("*");
 
            // Center Space rectangle
            for (j = 0; j < (2 * n - 7); j++)
                Console.Write(" ");
 
            // Right rectangle
            for (j = 0; j < 3; j++)
                Console.Write("*");
 
            Console.Write("\n");
        }
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 7;
 
        printHutStar(n);
    }
}
 
// This code is contributed by ChitraNayal


PHP




<?php
// PHP program to print
// the Hut Star Pattern
 
// Function to print the Hut-Star Pattern
function printHutStar($n)
{
 
    // Printing the upper triangle
    for ($i = 0; $i < $n; $i++)
    {
 
        // Left space triangle
        for ($j = $i + 1; $j < $n; $j++)
            echo " " ;
 
        // Center Star triangle
        for ($j = 0; $j < (2 * $i + 1); $j++)
            echo "*" ;
 
        echo "\n";
    }
 
    // Printing Lower rectangles
    for ($i = 0; $i < 3; $i++)
    {
 
        // Left rectangle
        for ($j = 0; $j < 3; $j++)
            echo "*" ;
 
        // Center Space rectangle
        for ($j = 0; $j < (2 * $n - 7); $j++)
            echo " " ;
 
        // Right rectangle
        for ($j = 0; $j < 3; $j++)
            echo "*" ;
 
        echo "\n";
    }
}
 
// Driver Code
$n = 7;
 
// function calling
printHutStar($n);
 
// This code is contributed
// by Akanksha Rai


Javascript




<script>
 
      // JavaScript program to print
      // the Hut Star Pattern
 
      // Function to print the Hut-Star Pattern
      function printHutStar(n)
      {
        var i, j;
 
        // Printing the upper triangle
        for (i = 0; i < n; i++) {
          // Left space triangle
          for (j = i + 1; j < n; j++)
          document.write("  ");
 
          // Center Star triangle
          for (j = 0; j < 2 * i + 1; j++)
          document.write("*");
 
          document.write("<br>");
        }
 
        // Printing Lower rectangles
        for (i = 0; i < 3; i++) {
          // Left rectangle
          for (j = 0; j < 3; j++)
          document.write("*");
 
          // Center Space rectangle
          for (j = 0; j < 2 * n - 7; j++)
          document.write("  ");
 
          // Right rectangle
          for (j = 0; j < 3; j++)
          document.write("*");
 
          document.write("<br>");
        }
      }
 
      var n = 7;
       
      // function calling
      printHutStar(n);
       
    </script>


Output: 

      *
     ***
    *****
   *******
  *********
 ***********
*************
***       ***
***       ***
***       ***

 

Time Complexity: O(n*n*n) 

Auxiliary Space: O(1)

Another method: (Reduce time complexity) 

C++




// C++ program to print
// the Hut Star Pattern
 
#include<iostream>
using namespace std;
 
int main()
{
    int n=7,i,j;
     
    //LOOP FOR HUT PYRAMID
    for(i=0,j=0;i<n;j++)        
    {
        if(j==n+i)
        {
            j=-1;
            ++i;
            cout<<"\n";
        }
         
        // print Center Star triangle
        else if((i+j)>=n-1)
        {
            cout<<"*";
        }
        else
            cout<<" ";
    }
     
    //LOOPS FOR LOWER WALLS
    for(int k=0;k<3;k++)        
    {
        // Left and right rectangle
        for(int l=0;l<n-1+i;l++)
        {
            if(l<=2 || (l<=n-1+i && l>=n-4+i))
                cout<<"*";
            else
                cout<<" ";
        }
        cout<<endl;
    }
}
//This code is contributed by KUMARAN


Java




// Java program to print the Hut Star Pattern
class GFG
{
 
public static void main(String args[])
{
    int n = 7, i, j;
 
    // LOOP FOR HUT PYRAMID
    for (i = 0, j = 0; i < n; j++)
    {
        if (j == n + i)
        {
            j = -1;
            ++i;
            System.out.print("\n");
        } // print Center Star triangle
        else if ((i + j) >= n - 1)
        {
            System.out.print("*");
        }
        else
        {
            System.out.print(" ");
        }
    }
 
    // LOOPS FOR LOWER WALLS
    for (int k = 0; k < 3; k++)
    {
        // Left and right rectangle
        for (int l = 0; l < n - 1 + i; l++)
        {
            if (l <= 2 || (l <= n - 1 + i &&
                           l >= n - 4 + i))
            {
                System.out.print("*");
            }
            else
            {
                System.out.print(" ");
            }
        }
        System.out.print("\n");
    }
}
}
 
// This code is contributed
// by PrinciRaj1992


Python3




# Python3 program to print the
# Hut Star Pattern
import math as mt
 
if __name__ == '__main__':
 
    n = 7
    i, j = 0, 0
     
    # LOOP FOR HUT PYRAMID
    while(i < n):    
        if(j == n + i):
            j = -1
            i += 1
            print()
             
        elif((i + j) >= n - 1):
            print("*", end = "")
        else:
            print(end = " ")
        j += 1
     
    # LOOPS FOR LOWER WALLS
    for k in range(3):   
         
        # Left and right rectangle
        for l in range(n - 1 + i):
            if(l <= 2 or (l <= n - 1 + i and
                          l >= n - 4 + i)):
                print("*", end = "")
            else:
                print(end = " ")
         
        print()
     
# This code is contributed by
# Mohit kumar 29


C#




// C# program to print the Hut Star Pattern
using System;
 
class GFG
{
 
public static void Main()
{
    int n = 7, i, j;
 
    // LOOP FOR HUT PYRAMID
    for (i = 0, j = 0; i < n; j++)
    {
        if (j == n + i)
        {
            j = -1;
            ++i;
            Console.Write("\n");
        } // print Center Star triangle
        else if ((i + j) >= n - 1)
        {
            Console.Write("*");
        }
        else
        {
            Console.Write(" ");
        }
    }
 
    // LOOPS FOR LOWER WALLS
    for (int k = 0; k < 3; k++)
    {
        // Left and right rectangle
        for (int l = 0; l < n - 1 + i; l++)
        {
            if (l <= 2 || (l <= n - 1 + i &&
                        l >= n - 4 + i))
            {
                Console.Write("*");
            }
            else
            {
                Console.Write(" ");
            }
        }
        Console.Write("\n");
    }
}
}
 
// This code is contributed
// by Akanksha Rai


PHP




<?php
// PHP program to print the
// Hut Star Pattern
 
// Driver Code
$n = 7;
 
// LOOP FOR HUT PYRAMID
for ($i = 0, $j = 0; $i < $n; $j++)
{
    if ($j == $n + $i)
    {
        $j = -1;
        ++$i;
        echo("\n");
    } // print Center Star triangle
    else if (($i + $j) >= $n - 1)
    {
        echo("*");
    }
    else
    {
        echo(" ");
    }
}
 
// LOOPS FOR LOWER WALLS
for ($k = 0; $k < 3; $k++)
{
    // Left and right rectangle
    for ($l = 0; $l < $n - 1 + $i; $l++)
    {
        if ($l <= 2 || ($l <= $n - 1 + $i &&
                        $l >= $n - 4 + $i))
        {
            echo("*");
        }
        else
        {
            echo(" ");
        }
    }
    echo("\n");
}
 
// This code is contributed
// by Mukul singh
?>


Javascript




<script>
 
// Javascript program to print the Hut Star Pattern    
var n = 7, i, j;
 
// LOOP FOR HUT PYRAMID
for(i = 0, j = 0; i < n; j++)
{
    if (j == n + i)
    {
        j = -1;
        ++i;
        document.write("<br/>");
    }
     
    // Print Center Star triangle
    else if ((i + j) >= n - 1)
    {
        document.write("*");
    }
    else
    {
        document.write("  ");
    }
}
 
// LOOPS FOR LOWER WALLS
for(k = 0; k < 3; k++)
{
     
    // Left and right rectangle
    for(l = 0; l < n - 1 + i; l++)
    {
        if (l <= 2 || (l <= n - 1 + i &&
                       l >= n - 4 + i))
        {
            document.write("*");
        }
        else
        {
            document.write("  ");
        }
    }
    document.write("<br/>");
}
 
// This code is contributed by umadevi9616
 
</script>


Time Complexity: O(n2)

Auxiliary Space: O(1)



Last Updated : 08 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads