Given a number N, the task is to print the numbers from N to 1.
Examples:
Input: N = 10
Output: 10 9 8 7 6 5 4 3 2 1
Input: N = 7
Output: 7 6 5 4 3 2 1
Approach 1: Run a loop from N to 1 and print the value of N for each iteration. Decrement the value of N by 1 after each iteration.
Below is the implementation of the above approach.
C++
// C++ program to print all numbers between 1 // to N in reverse order #include <bits/stdc++.h> using namespace std; // Recursive function to print from N to 1 void PrintReverseOrder( int N) { for ( int i = N; i > 0; i--) cout << i << " " ; } // Driven Code int main() { int N = 5; PrintReverseOrder(N); return 0; } |
Java
// Java program to print all numbers between 1 // to N in reverse order import java.util.*; class GFG { // Recursive function to print from N to 1 static void PrintReverseOrder( int N) { for ( int i = N; i > 0 ; i--) System.out.print( +i + " " ); } // Driver code public static void main(String[] args) { int N = 5 ; PrintReverseOrder(N); } } // This code is contributed by shivanisinghss2110 |
Python3
# Python3 program to print all numbers # between 1 to N in reverse order # Recursive function to print # from N to 1 def PrintReverseOrder(N): for i in range (N, 0 , - 1 ): print (i, end = " " ); # Driver code if __name__ = = '__main__' : N = 5 ; PrintReverseOrder(N); # This code is contributed by 29AjayKumar |
C#
// C# program to print all numbers // between 1 to N in reverse order using System; class GFG{ // Recursive function to print // from N to 1 static void PrintReverseOrder( int N) { for ( int i = N; i > 0; i--) Console.Write(i + " " ); } // Driver code public static void Main(String[] args) { int N = 5; PrintReverseOrder(N); } } // This code is contributed by Rajput-Ji |
Javascript
<script> // Javascript program to print all numbers between 1 // to N in reverse order // Recursive function to print from N to 1 function PrintReverseOrder(N) { for (let i = N; i > 0; i--) document.write(i + " " ); } let N = 5; PrintReverseOrder(N); </script> |
5 4 3 2 1
Time Complexity: O(N)
Auxiliary Space: O(1)
Approach 2: We will use recursion to solve this problem.
- Check for the base case. Here it is N<=0.
- If base condition satisfied, return to the main function.
- If base condition not satisfied, print N and call the function recursively with value (N – 1) until base condition satisfies.
Below is the implementation of the above approach.
C++
// C++ program to print all numbers between 1 // to N in reverse order #include <bits/stdc++.h> using namespace std; // Recursive function to print from N to 1 void PrintReverseOrder( int N) { // if N is less than 1 // then return void function if (N <= 0) { return ; } else { cout << N << " " ; // recursive call of the function PrintReverseOrder(N - 1); } } // Driven Code int main() { int N = 5; PrintReverseOrder(N); return 0; } |
Java
// Java program to print all numbers // between 1 to N in reverse order class GFG{ // Recursive function to print // from N to 1 static void PrintReverseOrder( int N) { // If N is less than 1 then // return static void function if (N <= 0 ) { return ; } else { System.out.print(N + " " ); // Recursive call of the function PrintReverseOrder(N - 1 ); } } // Driver code public static void main(String[] args) { int N = 5 ; PrintReverseOrder(N); } } // This code is contributed by 29AjayKumar |
Python3
# Python3 program to print all numbers between 1 # to N in reverse order # Recursive function to print from N to 1 def PrintReverseOrder(N): # if N is less than 1 # then return void function if (N < = 0 ): return ; else : print (N, end = " " ); # recursive call of the function PrintReverseOrder(N - 1 ); # Driver Code N = 5 ; PrintReverseOrder(N); # This code is contributed by Nidhi_biet |
C#
// C# program to print all numbers // between 1 to N in reverse order using System; class GFG{ // Recursive function to print // from N to 1 static void PrintReverseOrder( int N) { // If N is less than 1 then // return static void function if (N <= 0) { return ; } else { Console.Write(N + " " ); // Recursive call of the function PrintReverseOrder(N - 1); } } // Driver code public static void Main() { int N = 5; PrintReverseOrder(N); } } // This code is contributed by Code_Mech |
Javascript
<script> // Javascript program to print all numbers between 1 // to N in reverse order // Recursive function to print from N to 1 function PrintReverseOrder(N) { // if N is less than 1 // then return void function if (N <= 0) { return ; } else { document.write(N + " " ); // recursive call of the function PrintReverseOrder(N - 1); } } // Driver code let N = 5; PrintReverseOrder(N); // This code is contributed by suresh07. </script> |
5 4 3 2 1
Time Complexity: O(N)
Auxiliary Space: O(N)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!