Dado un número N , la tarea es escribir un programa C/C++ para imprimir el número de N a 1 llamando a la función main() usando recursión .
Ejemplos:
Entrada: N = 10
Salida: 10 9 8 7 6 5 4 3 2 1
Entrada: N = 5
Salida: 5 4 3 2 1
Acercarse:
- Use una variable estática para inicializar el número N dado .
- Imprime el número N y decreméntalo.
- Llame a la función main() recursivamente después del paso anterior.
A continuación se muestra la implementación del enfoque anterior:
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(); } }
Producción:
10 9 8 7 6 5 4 3 2 1
Complejidad de tiempo: O(N) , donde N es el número dado.
Publicación traducida automáticamente
Artículo escrito por akashvishwakarma5477 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA