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> |
Output:
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> |
Output:
5 4 3 2 1
Time Complexity: O(N)
Auxiliary Space: O(N)