Порядок рекурсивных вызовов
Ниже записан рекурсивный алгоритм $F$. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова $F(7)$. Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
1def F(n): 2 if n > 2: 3 print(n) 4 F(n - 1) 5 F(n // 2)
Условие как в банке ФИПИ — открыть и сверить
|
Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран. | ||||||||||||
| | ||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
В каком порядке выполняются команды внутри одного вызова функции?
2Наводящая — какие числа считатьуровень 2 из 3
Сначала выводится $n$, затем полностью выполняется вызов $F(n-1)$, и только после этого — вызов $F(n // 2)$.
3Прямая — фактически решениеуровень 3 из 3
Для $F(7)$ последовательность начинается так: $7$, затем вызовы $F(6)$, $F(5)$, $F(4)$ и $F(3)$; после завершения первого рекурсивного вызова учитываются вторые вызовы с целочисленным делением на $2$.