Все задачи №16
№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)?

Учебная задача

Ответвпиши то, что вывела программа
Показать разбор
  1. Перепиши функцию из условия, условия в том же порядке.
  2. Для чётного n верни n + F(n - 1), для нечётного 2 * F(n - 2) + 1.
  3. Глубина маленькая, поэтому кэш и прогрев здесь не нужны.
  4. Напечатай 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))