Given a number n, the task is to write a program to draw the following pattern using ‘$’.
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
Approach:
The above pattern is printed by breaking it into smaller patterns:
- The above triangle
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows 0 to n-1. Firstly the space is printed, then the ‘$’ is printed.
- The middle body
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- This again is divided into 3 smaller patterns:
- The upper middle body
- The upper middle body
$ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows 0 to n-2. Firstly the left ‘$’ is printed, then the space is printed, then the right ‘$’ is printed.
- The middle body
$ $ $ $ $ $ $
- This is done with the help of for loop for row = n-1. Here only the ‘$’ is printed for i 0 to (2n -1).
- The lower middle body
$ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows n to 2n-1. Firstly the left ‘$’ is printed, then the space is printed, then the right ‘$’ is printed.
- The lower triangle
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows 0 to n-1. This is done similar to the upper triangle pattern.
Hence the complete pattern will be drawn.
Below program prints the pattern as shown above:
C++
// C++ implementation of above approach #include <iostream> using namespace std; void printPattern( int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ( int r = 0; r < n; r++) { // for space for ( int i = r; i < n - 1; i++) { cout << " " ; cout << " " ; } // for $ for ( int i = 0; i < 2 * r + 1; i++) cout << "$ " ; // new line cout << endl ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ( int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ( int i = 0; i <= r; i++) cout << "$ " ; // for space for ( int i = 0; i <= 2 * (n - r - 1)-2; i++) { cout << " " ; cout << " " ; } // for $ for ( int i = 0; i <= r; i++) cout << "$ " ; } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ( int i = 0; i < 2 * r + 1; i++) cout << "$ " ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ( int i = 2 * n - 1; i > r; i--) cout << "$ " ; // for space for ( int i = n; i <= r; i++) { cout << " " ; cout << " " ; } // for space for ( int i = n; i < r; i++) { cout << " " ; cout << " " ; } // for $ for ( int i = 2 * n - 1; i > r; i--) cout << "$ " ; } // new line cout << endl ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ( int r = 0; r < n; r++) { // for space for ( int i = 0; i < r; i++){ cout << " " ; cout << " " ; } // for $ for ( int i = 0; i < 2 * (n - r) - 1; i++) cout << "$ " ; // new line cout << endl ; } } int main() { int n = 4; printPattern(n); return 0; // This code is contributed by ANKITRAI1 } |
Java
// Java implementation of above approach public class GFG { public static void printPattern( int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ( int r = 0 ; r < n; r++) { // for space for ( int i = r; i < n - 1 ; i++){ System.out.print( " " ); System.out.print( " " ); } // for $ for ( int i = 0 ; i < 2 * r + 1 ; i++) System.out.print( "$ " ); // new line System.out.println(); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ( int r = 0 ; r < 2 * n - 1 ; r++) { if (r < n - 1 ) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ( int i = 0 ; i <= r; i++) System.out.print( "$ " ); // for space for ( int i = 0 ; i <= 2 * (n - r - 1 ) - 2 ; i++){ System.out.print( " " ); System.out.print( " " ); } // for $ for ( int i = 0 ; i <= r; i++) System.out.print( "$ " ); } else if (r == n - 1 ) { // for body // $ $ $ $ $ $ $ // for $ for ( int i = 0 ; i < 2 * r + 1 ; i++) System.out.print( "$ " ); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ( int i = 2 * n - 1 ; i > r; i--) System.out.print( "$ " ); // for space for ( int i = n; i <= r; i++){ System.out.print( " " ); System.out.print( " " ); } // for space for ( int i = n; i < r; i++){ System.out.print( " " ); System.out.print( " " ); } // for $ for ( int i = 2 * n - 1 ; i > r; i--) System.out.print( "$ " ); } // new line System.out.println(); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ( int r = 0 ; r < n; r++) { // for space for ( int i = 0 ; i < r; i++){ System.out.print( " " ); System.out.print( " " ); } // for $ for ( int i = 0 ; i < 2 * (n - r) - 1 ; i++) System.out.print( "$ " ); // new line System.out.println(); } } // Driver Code public static void main(String[] args) { int n = 4 ; printPattern(n); } } |
Python3
# Python 3 implementation of above approach def printPattern(n): # for upper triangle # $ # $ $ $ # $ $ $ $ $ # $ $ $ $ $ $ $ for r in range ( 0 ,n, 1 ): # for space for i in range (r,n - 1 , 1 ): print ( " " ,end = " " ) # for $ for i in range ( 0 , 2 * r + 1 , 1 ): print ( "$" ,end = " " ) # new line print ( "\n" ) # for middle body # $ $ # $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ # $ $ for r in range ( 0 , 2 * n - 1 , 1 ): if (r < n - 1 ): # for body # $ $ # $ $ $ $ # $ $ $ $ $ $ # for $ for i in range ( 0 ,r + 1 , 1 ): print ( "$" ,end = " " ) # for space for i in range ( 0 , 2 * (n - r - 1 ) - 2 + 1 , 1 ): print ( " " ,end = " " ) # for $ for i in range ( 0 ,r + 1 , 1 ): print ( "$" , end = " " ) elif (r = = n - 1 ): # for body # $ $ $ $ $ $ $ # for $ for i in range ( 0 , 2 * r + 1 , 1 ): print ( "$" ,end = " " ) else : # for body # $ $ $ $ $ $ # $ $ $ $ # $ $ # for $ i = 2 * n - 1 while (i > r): print ( "$" ,end = " " ) i - = 1 # for space for i in range (n,r + 1 , 1 ): print ( " " ,end = " " ) # for space for i in range (n,r, 1 ): print ( " " ,end = " " ) # for $ i = 2 * n - 1 while (i > r): print ( "$" ,end = " " ) i - = 1 # new line print ( "\n" ) # for lower triangle # $ $ $ $ $ $ $ # $ $ $ $ $ # $ $ $ # $ for r in range ( 0 ,n, 1 ): # for space for i in range ( 0 ,r, 1 ): print ( " " ,end = " " ) # for $ for i in range ( 0 , 2 * (n - r) - 1 , 1 ): print ( "$" ,end = " " ) # new line print ( "\n" ) # driver code if __name__ = = '__main__' : n = 4 printPattern(n) # This code is contributed by # Surendra_Gangwar |
C#
// C# implementation of above approach using System; class GFG { public static void printPattern( int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ( int r = 0; r < n; r++) { // for space for ( int i = r; i < n - 1; i++) { Console.Write( " " ); Console.Write( " " ); } // for $ for ( int i = 0; i < 2 * r + 1; i++) Console.Write( "$ " ); // new line Console.Write( "\n" ); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ( int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ( int i = 0; i <= r; i++) Console.Write( "$ " ); // for space for ( int i = 0; i <= 2 * (n - r - 1) - 2; i++) { Console.Write( " " ); Console.Write( " " ); } // for $ for ( int i = 0; i <= r; i++) Console.Write( "$ " ); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ( int i = 0; i < 2 * r + 1; i++) Console.Write( "$ " ); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ( int i = 2 * n - 1; i > r; i--) Console.Write( "$ " ); // for space for ( int i = n; i <= r; i++) { Console.Write( " " ); Console.Write( " " ); } // for space for ( int i = n; i < r; i++) { Console.Write( " " ); Console.Write( " " ); } // for $ for ( int i = 2 * n - 1; i > r; i--) Console.Write( "$ " ); } // new line Console.Write( "\n" ); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ( int r = 0; r < n; r++) { // for space for ( int i = 0; i < r; i++) { Console.Write( " " ); Console.Write( " " ); } // for $ for ( int i = 0; i < 2 * (n - r) - 1; i++) Console.Write( "$ " ); // new line Console.Write( "\n" ); } } // Driver Code public static void Main() { int n = 4; printPattern(n); } } // This code is contributed by ChitraNayal |
PHP
<?php // PHP implementation of above approach function printPattern( $n ) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ( $r = 0; $r < $n ; $r ++) { // for space for ( $i = $r ; $i < $n - 1; $i ++) { echo ( " " ) ; echo ( " " ) ; } // for $ for ( $i = 0; $i < 2 * $r + 1; $i ++) echo ( "$ " ) ; // new line echo ( "\n" ) ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ( $r = 0; $r < 2 * $n - 1; $r ++) { if ( $r < $n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ( $i = 0; $i <= $r ; $i ++) echo ( "$ " ) ; // for space for ( $i = 0; $i <= 2 * ( $n - $r - 1) - 2; $i ++) { echo ( " " ); echo ( " " ); } // for $ for ( $i = 0; $i <= $r ; $i ++) echo ( "$ " ); } else if ( $r == $n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ( $i = 0; $i < 2 * $r + 1; $i ++) echo ( "$ " ) ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ( $i = 2 * $n - 1; $i > $r ; $i --) echo ( "$ " ) ; // for space for ( $i = $n ; $i <= $r ; $i ++) { echo ( " " ) ; echo ( " " ) ; } // for space for ( $i = $n ; $i < $r ; $i ++) { echo ( " " ) ; echo ( " " ) ; } // for $ for ( $i = 2 * $n - 1; $i > $r ; $i --) echo ( "$ " ) ; } // new line echo ( "\n" ) ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ( $r = 0; $r < $n ; $r ++) { // for space for ( $i = 0; $i < $r ; $i ++) { echo ( " " ) ; echo ( " " ) ; } // for $ for ( $i = 0; $i < 2 * ( $n - $r ) - 1; $i ++) echo ( "$ " ) ; // new line echo ( "\n" ) ; } } // Driver Code $n = 4; printPattern( $n ); // This code is contributed // by Shivi_Aggarwal ?> |
Javascript
<script> // JavaScript implementation of above approach function printPattern(n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ( var r = 0; r < n; r++) { // for space for ( var i = r; i < n - 1; i++) { document.write( " " ); document.write( " " ); } // for $ for ( var i = 0; i < 2 * r + 1; i++) document.write( "$ " ); // new line document.write( "<br>" ); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ( var r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ( var i = 0; i <= r; i++) document.write( "$ " ); // for space for ( var i = 0; i <= 2 * (n - r - 1) - 2; i++) { document.write( " " ); document.write( " " ); } // for $ for ( var i = 0; i <= r; i++) document.write( "$ " ); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ( var i = 0; i < 2 * r + 1; i++) document.write( "$ " ); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ( var i = 2 * n - 1; i > r; i--) document.write( "$ " ); // for space for ( var i = n; i <= r; i++) { document.write( " " ); document.write( " " ); } // for space for ( var i = n; i < r; i++) { document.write( " " ); document.write( " " ); } // for $ for ( var i = 2 * n - 1; i > r; i--) document.write( "$ " ); } // new line document.write( "<br>" ); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ( var r = 0; r < n; r++) { // for space for ( var i = 0; i < r; i++) { document.write( " " ); document.write( " " ); } // for $ for ( var i = 0; i < 2 * (n - r) - 1; i++) document.write( "$ " ); // new line document.write( "<br>" ); } } var n = 4; printPattern(n); // This code is contributed by rdtank. </script> |
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
Time Complexity : O(n2)
Auxiliary Space : O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!