Given the number N, the task is to print a pattern such that in each line all the digits from N to 1 are present in decreasing order and the frequency of the elements in ith line is N-i (the lines are 0 based i.e., i varies in the range [0, N-1]).
Note: Instead of printing a new line print a “$” without quotes. After printing the total output, the end of the line is expected.
Examples:
Input: 2
Output: 2 2 1 1 $2 1 $Input: 3
Output: 3 3 3 2 2 2 1 1 1 $3 3 2 2 1 1 $3 2 1 $
Approach: Follow the steps to solve this problem:
- Run a loop from k = 0 to N-1:
- Run a nested loop from i = N to 1:
- Run a loop from 0 to N-k and print i.
- After executing the i loop for every k, print ‘$‘.
- Run a nested loop from i = N to 1:
Below is the implementation of the above approach.
C++
// C++ code to implement the approach #include <bits/stdc++.h> using namespace std; // Function to print the pattern void printPat(int n) { int i, j, k; for (k = 0; k < n; k++) { for (i = n; i > 0; i--) { for (j = 0; j < n - k; j++) { cout << i << " "; } } cout << '$'; } } // Driver Code int main() { int N = 2; // Function Call printPat(2); return 0; } |
Java
// Java code to implement the approach import java.io.*; class GFG { // Function to print the pattern static void printPat(int n) { int i, j, k; for (k = 0; k < n; k++) { for (i = n; i > 0; i--) { for (j = 0; j < n - k; j++) { System.out.print(i + " "); } } System.out.print("$"); } } public static void main(String[] args) { int N = 2; // Function call printPat(2); } } // This code is contributed by lokeshmvs21. |
Python3
# Python code to implement the approach # Function to print the pattern def printPat(n): for k in range(n): for i in range(n,0,-1): for j in range(0,n-k): print(i,end=" ") print("$",end="") # Driver Code N=2 # Function Call printPat(N) # This code is contributed by Pushpesh Raj. |
C#
// C# code to implement the approach using System; public class GFG{ // Function to print the pattern static void printPat(int n) { int i, j, k; for (k = 0; k < n; k++) { for (i = n; i > 0; i--) { for (j = 0; j < n - k; j++) { Console.Write(i + " "); } } Console.Write("$"); } } static public void Main (){ // Code int N = 2; // Function call printPat(2); } } // This code is contributed by lokesh. |
Javascript
// Javascript code to implement the approach // Function to print the pattern function printPat(n) { let i = 0, j = 0, k = 0; for (k = 0; k < n; k++) { for (i = n; i > 0; i--) { for (j = 0; j < n - k; j++) { console.log(i + " "); } } console.log('$'); } } // Driver Code let N = 2; // Function Call printPat(2); // This code is contributed by Samim Hossain Mondal. |
2 2 1 1 $2 1 $
Time Complexity: O(N3)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Info to that Topic: geeksforgeeks.org/print-the-pattern-2-2-1-1-2-1/ […]