# Print the given pattern recursively

Given a positive integer n. Print the inverted triangular pattern (as described in the examples below) using the recursive approach.

Examples:

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

Input : n = 7
Output :
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Method 1 (Using two recursive functions): One recursive function is used to get the row number and the other recursive function is used to print the stars of that particular row.

Algorithm:

printPatternRowRecur(n)
if n < 1
return

print "* "
printPatternRowRecur(n-1)

printPatternRecur(n)
if n < 1
return

printPatternRowRecur(n)
print "\n"
printPatternRecur(n-1)

## C++

 // C++ implementation to print the given // pattern recursively #include using namespace std;    // function to print the 'n-th' row of the // pattern recursively void printPatternRowRecur(int n) {     // base condition     if (n < 1)         return;                // print the remnaining stars of the n-th row     // recursively         cout << "* ";     printPatternRowRecur(n-1); }    void printPatternRecur(int n) {     // base condition     if (n < 1)         return;            // print the stars of the n-th row         printPatternRowRecur(n);                // move to next line     cout << endl;            // print stars of the remaining rows recursively     printPatternRecur(n-1);        }    // Driver program to test above int main() {     int n = 5;     printPatternRecur(n);     return 0; }

## Java

 // java implementation to print the given // pattern recursively import java.io.*;    class GFG {     // function to print the 'n-th' row      // of the pattern recursively     static void printPatternRowRecur(int n)     {         // base condition         if (n < 1)             return;                        // print the remnaining stars          // of the n-th row recursively          System.out.print( "* ");         printPatternRowRecur(n - 1);     }            static void printPatternRecur(int n)     {         // base condition         if (n < 1)             return;                    // print the stars of the n-th row          printPatternRowRecur(n);                     // move to next line         System.out.println ();                    // print stars of the          // remaining rows recursively         printPatternRecur(n - 1);                }        // Driver program to test above     public static void main (String[] args)      {         int n = 5;         printPatternRecur(n);                } } //This code is contributed by vt_m

## Python3

 # Python 3 implementation  # to print the given  # pattern recursively    # function to print the # 'n-th' row of the # pattern recursively def printPatternRowRecur(n):        # base condition     if (n < 1):         return                # print the remnaining      # stars of the n-th row     # recursively      print("*", end = " ")     printPatternRowRecur(n - 1)    def printPatternRecur(n):        # base condition     if (n < 1):         return            # print the stars of     # the n-th row      printPatternRowRecur(n)             # move to next line     print("")            # print stars of the      # remaining rows recursively     printPatternRecur(n - 1)        # Driver Code n = 5 printPatternRecur(n)    # This code is contributed # by Smitha

## C#

 // C# implementation to print the given // pattern recursively using System; class GFG {     // function to print the 'n-th' row      // of the pattern recursively     static void printPatternRowRecur(int n)     {         // base condition         if (n < 1)             return;                        // print the remnaining stars          // of the n-th row recursively          Console.Write( "* ");         printPatternRowRecur(n - 1);     }            static void printPatternRecur(int n)     {         // base condition         if (n < 1)             return;                    // print the stars of the n-th row          printPatternRowRecur(n);                     // move to next line          Console.WriteLine();                    // print stars of the          // remaining rows recursively         printPatternRecur(n - 1);                }        // Driver program to test above     public static void Main()      {         int n = 5;         printPatternRecur(n);                } } //This code is contributed by vt_m

## PHP



Output:

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

Method 2 (Using single recursive function): This approach uses a single recursive function to print the entire pattern.

Algorithm:

printPatternRecur(n, i)
if n < 1
return

if i <= n
print "* "
printPatternRecur(n, i+1)

else
print "\n"
printPatternRecur(n-1, 1)

## C++

 // C++ implementation to print the given pattern recursively #include    using namespace std;    // function to print the given pattern recursively void printPatternRecur(int n, int i) {     // base condition     if (n < 1)         return;            // to print the stars of a particular row     if (i <= n)     {         cout << "* ";                    // recursively print rest of the stars          // of the row         printPatternRecur(n, i + 1);     }                else     {         // change line         cout << endl;                    // print stars of the remaining rows recursively         printPatternRecur(n-1, 1);     } }    // Driver program to test above int main() {     int n = 5;     printPatternRecur(n, 1);     return 0;     }

## Java

 // java implementation to  // print the given pattern recursively import java.io.*;    class GFG {            // function to print the     // given pattern recursively     static void printPatternRecur(int n, int i)     {         // base condition         if (n < 1)             return;                    // to print the stars of          // a particular row         if (i <= n)         {             System.out.print ( "* ");                            // recursively print rest               // of the stars of the row             printPatternRecur(n, i + 1);         }                     else         {             // change line             System.out.println( );                            // print stars of the              // remaining rows recursively             printPatternRecur(n - 1, 1);         }     }            // Driver program      public static void main (String[] args)      {         int n = 5;         printPatternRecur(n, 1);                } }    // This code is contributed by vt_m

## Python 3

 # Python3 implementation to print the  # given pattern recursively    # function to print the given pattern # recursively def printPatternRecur(n, i):        # base condition     if (n < 1):         return            # to print the stars of a     # particular row     if (i <= n):                print("* ", end = "")                    # recursively print rest of         # the stars of the row         printPatternRecur(n, i + 1)            else:                # change line         print("")                    # print stars of the remaining         # rows recursively         printPatternRecur(n-1, 1)    # Driver program to test above n = 5 printPatternRecur(n, 1)    # This code is contributed by Smitha

## C#

 // C# implementation to  // print the given pattern recursively using System; class GFG {            // function to print the     // given pattern recursively     static void printPatternRecur(int n, int i)     {         // base condition         if (n < 1)             return;                    // to print the stars of          // a particular row         if (i <= n)         {             Console.Write ( "* ");                            // recursively print rest              // of the stars of the row             printPatternRecur(n, i + 1);         }                     else         {             // change line             Console.WriteLine( );                            // print stars of the              // remaining rows recursively             printPatternRecur(n - 1, 1);         }     }            // Driver program      public static void Main ()      {         int n = 5;         printPatternRecur(n, 1);                } }    // This code is contributed by vt_m

## PHP



Output:

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

This article is contributed by Ayush Jauhari. 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.