Simulant recursivitat (2) P34441


Statement
 

pdf   zip

html

Considereu aquest programa (del qual s’han suprimit les inclusions):

void escriu(int n) { if (n > 0) { escriu(n - 1); cout << ' ' << n; escriu(n - 1); } } int main() { int n; while (cin >> n) { escriu(n); cout << endl; } }

A l’exemple d’entrada i de sortida d’aquest exercici veureu què escriu aquest programa per a cada nombre llegit.

Sense modificar gens el main(), reimplementeu el procediment escriu(n) sense fer cap crida, recursiva o no, de manera que la sortida del programa no canviï.

Entrada

L’entrada consisteix en diversos naturals estrictament positius.

Sortida

Per a cada nombre, escriviu una línia idèntica a l’escrita pel programa donat.

Observació

Per resoldre aquest exercici, els únics contenidors que hauríeu d’usar són piles.

Public test cases
  • Input

    1
    2
    3
    4
    

    Output

     1
     1 2 1
     1 2 1 3 1 2 1
     1 2 1 3 1 2 1 4 1 2 1 3 1 2 1
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++ Python
    User solutions
    C++ Python