Program to print Hut Star pattern

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 od 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++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

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

Another method: (Reduce time complexity)

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

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


My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksForGeeks

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.