Simulant recursivitat (1)

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.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T11:13:45.075Z

© Jutge.org, 2006–2026.
https://jutge.org
