Napisz program, który pobiera jako dane wejściowe ciąg i liczbę całkowitą n
i wyprowadza:
- Ciąg, który został przekazany do programu kilka
n
razy temu; - Nowy program, który zostanie użyty do następnego wywołania.
Nie możesz przechowywać żadnych danych poza programem, a twój program nie może wywoływać poprzednich programów w łańcuchu. Jeśli ciąg nie istnieje, wypisz pusty ciąg (ale nadal wypisz następny program).
Przykładowy bieg, w którym używam notacji program_n
dla każdego kolejnego programu (Oczywiście, [This text is the nth program]
zostałby zastąpiony faktycznym kodem).
$ program_1 "One" 1
[This text is the second program]
$ program_2 "Two" 1
One
[This text is the third program]
$ program_3 "Three" 2
One
[This text is the fourth program]
$ program_4 "Four" 2
Two
[This text is the fifth program]
$ program_5 "Five" 1
Four
[This text is the sixth program]
program_n+1
do linii wyjściowej, tak [program_3, One]
jakbyś chciał zobaczyć to. Jeśli oba dane wyjściowe zostaną ustawione na standardowe wyjście, jak należy je rozdzielić? Czy dozwolone są również funkcje zamiast pełnych programów?