Ответ: 1 5 1 9 3 1
Разбираемся:
Программа рекурсивно вызывает функцию F(n), которая выводит число n, если оно больше 0. Разберем, как это работает для F(9):
F(9): 9 > 0, поэтому выполняются следующие действия:F(9 - 4) = F(5)F(5): 5 > 0, поэтому выполняются следующие действия:F(5 - 4) = F(1)F(1): 1 > 0, поэтому выполняются следующие действия:F(1 - 4) = F(-3)F(-3): -3 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(1): выводим 1, затем вызываем F(1 div 3) = F(0)F(0): 0 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(5): выводим 5, затем вызываем F(5 div 3) = F(1)F(1): 1 > 0, поэтому выполняются следующие действия:F(1 - 4) = F(-3)F(-3): -3 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(1): выводим 1, затем вызываем F(1 div 3) = F(0)F(0): 0 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(9): выводим 9, затем вызываем F(9 div 3) = F(3)F(3): 3 > 0, поэтому выполняются следующие действия:F(3 - 4) = F(-1)F(-1): -1 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(3): выводим 3, затем вызываем F(3 div 3) = F(1)F(1): 1 > 0, поэтому выполняются следующие действия:F(1 - 4) = F(-3)F(-3): -3 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.F(1): выводим 1, затем вызываем F(1 div 3) = F(0)F(0): 0 > 0 - ложь, поэтому ничего не происходит, и вызов функции завершается.Ответ: 1 5 1 9 3 1
Тайм-трейлер: Скилл прокачан до небес
Сэкономил время — спас вечер. Иди чиллить, ты это заслужил
Не будь NPC — кинь ссылку бро, который всё еще тупит над этой задачей