16 номер. Рекурсия
Рекурсивная процедура и вывод
(С. Чайкин) Определите, сколько символов * выведет эта процедура при вызове F(127):
def F(n): print('*') if n > 1: F(n-2) F(n // 2) print('*') print('*')Подсказка
Начните с базового случая и направления изменения аргумента. Для выражения из нескольких значений сначала проверьте, можно ли сократить общую часть.
Решение
def F(n): k = 2 if n > 1: k += F(n-2) + F(n//2) + 1 return k print(F(127))