Open In App

Program to Print Inverted Right Half Pyramid Pattern (Star Pattern)

Last Updated : 18 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Given an integer N, print N rows of inverted right half pyramid pattern. In inverted right half pattern of N rows, the first row has N number of stars, second row has (N – 1) number of stars and so on till the Nth row which has only 1 star.

invertedStarPattern

Examples:

Input: n = 5
Output:
*****
****
***
**
*

Input: n = 3
Output:
***
**
*

Approach:

The problem can be solved using two nested loops. The outer loop will run for the rows and the inner loop will print the stars.

Step-by-step algorithm:

  • Run an outer loop from i = 1 to the number of rows.
    • Run an inner loop from j = 1 to N – i + 1.
      • Print an asterisk in each iteration of the inner loop.
    • Print a newline character (“\n”) to move to the next row.
  • After N iterations, we will have the inverted right half pyramid.

Below is the implementation of the above approach:

C++




#include <iostream>
using namespace std;
 
int main()
{
    // Number of rows
    int N = 5;
 
    // Outer loop runs N times, once for each row
    for (int i = 1; i <= N; i++) {
        // Inner loop prints 'N - i + 1' stars
        for (int j = 1; j <= N - i + 1; j++) {
            cout << "*";
        }
        // Move to the next line
        cout << "\n";
    }
 
    return 0;
}


Java




import java.util.Scanner;
 
public class Main {
    public static void main(String[] args)
    {
 
        // Number of rows
        int N = 5;
 
        // Outer loop runs N times, once for each row
        for (int i = 1; i <= N; i++) {
            // Inner loop prints 'N - i + 1' stars
            for (int j = 1; j <= N - i + 1; j++) {
                System.out.print("*");
            }
            // Move to the next line
            System.out.println();
        }
    }
}


Python3




# Number of rows
N = 5
 
# Outer loop runs N times, once for each row
for i in range(1, N + 1):
    # Inner loop prints 'N - i + 1' stars
    for j in range(1, N - i + 2):
        print("*", end="")
    # Move to the next line
    print()


C#




using System;
 
class MainClass
{
    public static void Main(string[] args)
    {
        // Number of rows
        int N = 5;
 
        // Outer loop runs N times, once for each row
        for (int i = 1; i <= N; i++)
        {
            // Inner loop prints 'N - i + 1' stars
            for (int j = 1; j <= N - i + 1; j++)
            {
                Console.Write("*");
            }
 
            // Move to the next line
            Console.WriteLine();
        }
    }
}


Javascript




// Number of rows
const N = 5;
 
// Outer loop runs N times, once for each row
for (let i = 1; i <= N; i++) {
    // Inner loop prints 'N - i + 1' stars
    for (let j = 1; j <= N - i + 1; j++) {
        process.stdout.write("*");
    }
    // Move to the next line
    process.stdout.write("\n");
}


Output

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






Time Complexity: O(N^2), where N is the number of rows in the pattern.
Auxiliary Space: O(1)



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

Similar Reads