We have discussed iterative pattern printing in previous post.
Examples:
Input : 7
Output :
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
Algorithm:-
step 1:- first think for the base condition i.e. number less than 0
step 2:-do the recursive calls till number less than 0 i.e:- printPartten(n-1, k+1);
step 3:-print the spaces
step 4:-then print * till number
Below is the implementation of above approach:
C++
// C++ program to print triangular patterns using Recursive #include <iostream> using namespace std; void printPartten(int n, int k) { if (n < 0) // Base condition return; // Recursive call printPartten(n - 1, k + 1); int i; for (i = 0; i < k; i++) // it makes spaces cout << " "; for (i = 0; i < n; i++) // for print * printf("* "); printf("\n"); // for next line } int main() { int n = 7; // Call to printPartten function printPartten(n, 0); return 0; } |
Java
// Java program to print triangular patterns using Recursive import java.io.*; public class GFG{ static void printPartten(int n, int k) { if (n < 0) // Base condition return; // Recursive call printPartten(n - 1, k + 1); int i; for (i = 0; i < k; i++) // it makes spaces System.out.printf(" "); for (i = 0; i < n; i++) // for print * System.out.printf("* "); System.out.printf("\n"); // for next line } public static void main(String[]args) { int n = 7; // Call to printPartten function printPartten(n, 0); } } |
Python3
# Python 3 program to print triangular # patterns using Recursive def printPartten(n, k): if (n < 0): # Base condition return; # Recursive call printPartten(n - 1, k + 1); for i in range(0, k): # it makes spaces print(" ", end=""); for i in range(0, n): # for print * print("* ", end = ""); print("\n", end=""); # for next line # Driver Code n = 7; # Call to printPartten function printPartten(n, 0); # This code is contributed # by Akanksha Rai |
C#
// C# program to print triangular // patterns using Recursive using System; class GFG { static void printPartten(int n, int k) { if (n < 0) // Base condition return; // Recursive call printPartten(n - 1, k + 1); int i; for (i = 0; i < k; i++) // it makes spaces Console.Write(" "); for (i = 0; i < n; i++) // for print * Console.Write("* "); Console.Write("\n"); // for next line } // Driver Code public static void Main() { int n = 7; // Call to printPartten function printPartten(n, 0); } } // This code is contributed // by Subhadeep |
PHP
<?php // PHP program to print triangular // patterns using Recursive function printPartten($n, $k) { if ($n < 0) // Base condition return; // Recursive call printPartten($n - 1, $k + 1); for ($i = 0; $i < $k; $i++) // it makes spaces echo " "; for ($i = 0; $i < $n; $i++) // for print * echo ("* "); echo ("\n"); // for next line } // Driver Code $n = 7; // Call to printPartten function printPartten($n, 0); // This code is contributed by jit_t ?> |
Javascript
<script> // javascript program to print triangular patterns using Recursive function printPartten(n , k) { if (n < 0) // Base condition return; // Recursive call printPartten(n - 1, k + 1); var i; for (i = 0; i < k; i++) // it makes spaces document.write(" "); for (i = 0; i < n; i++) // for print * document.write("* "); document.write("<br/>"); // for next line } var n = 7; // Call to printPartten function printPartten(n, 0); // This code is contributed by Rajput-Ji </script> |
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
Time Complexity: O(n2)
Auxiliary Space: O(n), The extra space is used in recursion call stack.
How to print its reverse pattern?
simply Just put the recursive line end of the function
Example:
Input : 7
Output :
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
C++
// C++ program to print reverse triangular // patterns using Recursive #include <bits/stdc++.h> using namespace std; void printPartten(int n, int k) { if (n < 0) // Base condition return; int i; for (i = 0; i < k; i++) // it makes spaces cout <<" "; for (i = 0; i < n; i++) // for print * cout <<"* "; cout <<"\n"; // for next line // Recursive calls printPartten(n - 1, k + 1); } int main() { int n = 7; // Call to printPartten function printPartten(n, 0); return 0; } // this code is contributed by shivanisinghss2110 |
C
// C program to print reverse triangular // patterns using Recursive #include <stdio.h> #include <stdlib.h> void printPartten(int n, int k) { if (n < 0) // Base condition return; int i; for (i = 0; i < k; i++) // it makes spaces printf( " "); for (i = 0; i < n; i++) // for print * printf("* "); printf("\n"); // for next line // Recursive calls printPartten(n - 1, k + 1); } int main() { int n = 7; // Call to printPartten function printPartten(n, 0); return 0; } |
Java
// Java program to print reverse triangular // patterns using Recursive import java.io.*; public class GFG{ static void printPartten(int n, int k) { if (n < 0) // Base condition return; int i; for (i = 0; i < k; i++) // it makes spaces System.out.print(" "); for (i = 0; i < n; i++) // for print * System.out.print("* "); System.out.print("\n"); // for next line // Recursive calls printPartten(n - 1, k + 1); } public static void main(String[] args) { int n = 7; // Call to printPartten function printPartten(n, 0); } } |
Python 3
# Python 3 program to print reverse # triangular patterns using Recursive def printPartten(n, k): if (n < 0): # Base condition return; for i in range(0, k): # it makes spaces print(" ", end = "") for i in range(0, n): # for print * print("*", end = " ") print("\n", end = "") # for next line # Recursive calls printPartten(n - 1, k + 1); # Driver Code n = 7; # Call to printPartten function printPartten(n, 0); # This code is contributed # by Akanksha Rai |
C#
// C# program to print reverse triangular // patterns using Recursive using System; class GFG { static void printPartten(int n, int k) { if (n < 0) // Base condition return; int i; for (i = 0; i < k; i++) // it makes spaces Console.Write(" "); for (i = 0; i < n; i++) // for print * Console.Write("* "); Console.Write("\n"); // for next line // Recursive calls printPartten(n - 1, k + 1); } // Driver Code public static void Main() { int n = 7; // Call to printPartten function printPartten(n, 0); } } // This code is contributed // by PrinciRaj1992 |
PHP
<?php // PHP program to print reverse triangular // patterns using Recursive function printPartten($n, $k) { if ($n < 0) // Base condition return; for ($i = 0; $i < $k; $i++) // it makes spaces echo(" "); for ($i = 0; $i < $n; $i++) // for print * echo("* "); echo("\n"); // for next line // Recursive calls printPartten($n - 1, $k + 1); } // Driver Code $n = 7; // Call to printPartten function printPartten($n, 0); // This code is contributed // by Mukul singh ?> |
Javascript
<script> // C++ program to print reverse triangular // patterns using Recursive function printPartten(n, k) { if (n < 0) // Base condition return; let i; for (i = 0; i < k; i++) // it makes spaces document.write(" "); for (i = 0; i < n; i++) // for print * document.write("* "); document.write("<br>"); // for next line // Recursive calls printPartten(n - 1, k + 1); } //driver code let n = 7; // Call to printPartten function printPartten(n, 0); // this code is contributed by shivanisinghss2110 </script> |
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
Time Complexity: O(n2)
Auxiliary Space: O(1), As the function becomes tail recursive no extra stack space is required.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Information to that Topic: geeksforgeeks.org/recursive-program-to-print-triangular-patterns/ […]
… [Trackback]
[…] There you can find 67728 additional Info to that Topic: geeksforgeeks.org/recursive-program-to-print-triangular-patterns/ […]
… [Trackback]
[…] Here you will find 29937 additional Info on that Topic: geeksforgeeks.org/recursive-program-to-print-triangular-patterns/ […]
… [Trackback]
[…] Read More to that Topic: geeksforgeeks.org/recursive-program-to-print-triangular-patterns/ […]