№16 · решено
Одна функция, малое n
Алгоритм вычисления функции F(n) задан соотношениями: F(1) = 4; F(n) = n + F(n − 1), если n > 1 и n чётно; F(n) = 2 · F(n − 2) + 1, если n > 1 и n нечётно. Чему равно значение F(26)?
Учебная задача
Ответвпиши то, что вывела программа
Показать разбор
- Перепиши функцию из условия, условия в том же порядке.
- Для чётного n верни n + F(n - 1), для нечётного 2 * F(n - 2) + 1.
- Глубина маленькая, поэтому кэш и прогрев здесь не нужны.
- Напечатай F(26).
def F(n):
if n == 1:
return 4
if n > 1 and n % 2 == 0:
return n + F(n - 1)
if n > 1 and n % 2 != 0:
return 2 * F(n - 2) + 1
print(F(26))