Simulant recursivitat (1) P62390


Statement
 

pdf   zip

thehtml

EN C++, considereu aquest programa (del qual s’han suprimit les inclusions):

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

En Python, considereu aquest programa:

from yogi import tokens def work(n: int) -> None: if n > 0: print(' ', n, end='') work(n - 1) work(n - 1) def main() -> None: for n in tokens(int): work(n) print() main()

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
     2 1 1
     3 2 1 1 2 1 1
     4 3 2 1 1 2 1 1 3 2 1 1 2 1 1
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++ Python
    User solutions
    C++ Python