Given a number N, the task is to write C/C++ program to print the number from N to 1 by calling the main() function using recursion.
Examples:
Input: N = 10
Output: 10 9 8 7 6 5 4 3 2 1
Input: N = 5
Output: 5 4 3 2 1
Approach:
- Use static variable to initialise the given number N.
- Print the number N and decrement it.
- Call the main() function recursively after above step.
Below is the implementation of the above approach:
C
// C program to illustrate calling // main() function in main() itself #include "stdio.h" // Driver Code int main()
{ // Declare a static variable
static int N = 10;
// Condition for calling main()
// recursively
if (N > 0) {
printf ( "%d " , N);
N--;
main();
}
} |
C++
// C++ program to illustrate calling // main() function in main() itself #include "iostream" using namespace std;
// Driver Code int main()
{ // Declare a static variable
static int N = 10;
// Condition for calling main()
// recursively until N is 0
if (N > 0) {
cout << N << ' ' ;
N--;
main();
}
} |
Output:
10 9 8 7 6 5 4 3 2 1
Time Complexity: O(N), where N is the given number.
Article Tags :