Задание 23. Информатика. ЕГЭ. Поляков-7436

Просмотры: 372
Изменено: 24 ноября 2024

(Е. Джобс) У исполнителя имеются три команды, которые обозначены латинскими буквами:

A. Прибавить 2
B. Умножить на 3
C. Возвести в квадрат

Первая команда увеличивает число на \(2\), вторая — умножает его на \(3\), третья — возводит в квадрат. Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе \(3\) результатом является число \(49\), при этом траектория вычислений не содержит числа \(13\)?

Решение:

Python


def f(n):
    if n > 49 or n == 13:
        return 0
    if n == 49:
        return 1
    return f(n + 2) + f(n * 3) + f(n**2)

print(f(3))

Ответ: \(11\)