Programa C/C++ para llamar a main() en main()

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:

  1. Use una variable estática para inicializar el número N dado .
  2. Imprime el número N y decreméntalo.
  3. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *