Задания на преобразование числа из разных источников.

Задание 23 ЕГЭ по информатике

ЕГЭ 2026. Статград. 16.12.2025

Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. вычти \(3\)
В. подели на \(2\)

Первая команда уменьшает число на экране на \(3,\) вторая команда делит число на \(2\) (нецелый результат округляется до ближайшего целого в большую сторону). Программа для исполнителя – это последовательность команд.

Сколько существует таких программ, которые исходное число \(120\) преобразуют в число \(20,\) при этом траектория вычислений не содержит чисел \(35\) и \(51?\)

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы АВA при исходном числе \(100\) траектория состоит из чисел \(97,\) \(49,\) \(46.\)

Решение:

Python


from math import ceil

def f(n, targ, deny):
    if n in deny:
        return 0
    if n <= targ:
        return n == targ
    return f(n - 3, targ, deny) + f(ceil(n / 2), targ, deny)

print(f(120, 20, (35, 51)))


Ответ: 10

ЕГЭ 2026. ЕГКР. 13.12.2025

Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. вычти \(3\)
В. вычти \(6\)
С. найди целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(86\) результатом является \(12,\) при этом траектория вычислений содержит число \(53\) и не содержит \(36?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(27\) траектория состоит из чисел \(13, \, 7, \, 4.\)

Решение:

Python


def f(n, targ, deny):
    if n == deny:
        return 0
    if n <= targ:
        return n == targ
    return f(n - 3, targ, deny) + f(n - 6, targ, deny) + f(n // 2, targ, deny)

print(f(86, 53, 36) * f(53, 12, 36))


Ответ: 144

ЕГЭ 2026. Демо

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(1\)
В. Вычесть \(4\)
С. Найти целую часть от деления на \(3\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(22\) траектория состоит из чисел \(7,\) \(3,\) \(2.\)

Решение:

Python


def f(n, targ, deny):
    if n < targ or n == deny:
        return 0
    if n == targ:
        return 1
    return f(n-1, targ, deny) + f(n-4, targ, deny) + f(n // 3, targ, deny)

print(f(19, 13, 7) * f(13, 2, 7))


Ответ: 68

ЕГЭ 2026. Крылов. Вариант 20

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(7\) преобразует в число \(71\)?

Решение:

Python


def f(n, targ):
    if n >= targ:
        return n == targ
    return f(n + 2, targ) + f(n + 10, targ)

print(f(7, 71))


Ответ: 4085

ЕГЭ 2026. Крылов. Вариант 19

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(5\) преобразует в число \(71\)?

Решение:

Python


def f(n, targ):
    if n >= targ:
        return n == targ
    return f(n + 2, targ) + f(n + 10, targ)

print(f(5, 71))


Ответ: 5411

ЕГЭ 2026. Крылов. Вариант 18

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(7\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(7\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(7\) преобразует в число \(51\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n+7, target)

print(f(7, 51))

Аналитическое решение

Числа \(7\) и \(51\) - нечётные. Для сохранения чётности нужно всё время прибавлять чётные числа. Это могут быть либо двойки, либо чётное число семёрок.

Итак, первая возможность - это прибавить \(22\) двойки к \(7\).

Вторая группа команд, это прибавить две \(7\) и \(15\) двоек. Всего - \(17\) слагаемых. Расположить две \(7\) на \(17\) позициях можно \(C^{2}_{17} = 136\) способами.

Следующая группа команд состоит из четырёх \(7\) и восьми \(2\). Всего таких программ \(C^{4}_{12} = 495\).

Наконец, последняя возможность - это прибавить шесть раз \(7\) и одну \(2\). Всего таких программ \(7\).

Собирая всё вместе, общее количество программ будет \(1+136+495+7 = 639\).

Ответ: 639

ЕГЭ 2026. Крылов. Вариант 17

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(7\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(7\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(5\) преобразует в число \(49\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n+7, target)

print(f(5, 49))

Аналитическое решение

Числа \(5\) и \(49\) - нечётные. Для сохранения чётности нужно всё время прибавлять чётные числа. Это могут быть либо двойки, либо чётное число семёрок.
Итак, первая возможность - это прибавить \(22\) двойки к \(5\).
Вторая группа команд, это прибавить две \(7\) и \(15\) двоек. Всего - \(17\) слагаемых. Расположить две \(7\) на \(17\) позициях можно \(C^{2}_{17} = 136\) способами.
Следующая группа команд состоит из четырёх \(7\) и восьми \(2\). Всего таких программ \(C^{4}_{12} = 495\).
Наконец, последняя возможность - это прибавить шесть раз \(7\) и одну \(2\). Всего таких программ \(7\).
Собирая всё вместе, общее количество программ будет \(1+136+495+7 = 639\).

Ответ: 639

ЕГЭ 2026. Крылов. Вариант 16

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(1\)
В. Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(60\) результатом является число \(1\), и при этом траектория вычислений содержит число \(20\) и не содержит \(4\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target or n == 4:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(60, 20)*f(20, 1))

Ответ: 1760

ЕГЭ 2026. Крылов. Вариант 15

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(1\)
В. Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(50\) результатом является число \(1\), и при этом траектория вычислений содержит число \(20\) и не содержит \(10\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение 2  способа на питоне:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target or n == 10:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(50, 20)*f(20, 1))

или так

def f(n, targ, deny):
    if n <= targ:
return n == targ
if n == deny:
return 0 return f(n-1, targ, deny) + f(n // 2, targ, deny) print(f(50, 20, 10)*f(20, 1, 10))

Ответ: 1620

ЕГЭ 2026. Крылов. Вариант 14

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(1\)
В. Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(60\) результатом является число \(2\), и при этом траектория вычислений содержит число \(10\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(60, 10)*f(10, 2))


Ответ: 1956

ЕГЭ 2026. Крылов. Вариант 13

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(1\)
В. Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(50\) результатом является число \(1\), и при этом траектория вычислений содержит число \(20\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(50, 20)*f(20, 1))


Ответ: 2340

ЕГЭ 2026. Крылов. Вариант 12

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(3\)
С. Умножить на \(5\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(1\) результатом является число \(35,\) при этом траектория вычислений содержит число \(6\) и не содержит числа \(21?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(35,\) \(38,\) \(40.\)

Решение:

Python


def f(n, targ, deny):
    if n == deny:
        return 0
    if n >= targ:
        return n == targ
    return f(n + 2, targ, deny) + f(n + 3, targ, deny) + f(n * 5, targ, deny)

print(f(1, 6, 21) * f(6, 35, 21))


Ответ: 1692

ЕГЭ 2026. Крылов. Вариант 11

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(3\)
С. Умножить на \(5\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(1\) результатом является число \(31,\) при этом траектория вычислений не содержит числа \(6\) и не содержит числа \(17?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(35,\) \(38,\) \(40.\)

Решение:

Python


def f(n, targ, deny):
    if n in deny:
        return 0
    if n >= targ:
        return n == targ
    return f(n + 2, targ, deny) + f(n + 3, targ, deny) + f(n * 5, targ, deny)

print(f(1, 31, (6, 17)))


Ответ: 961

ЕГЭ 2026. Крылов. Вариант 10

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Прибавить \(4\)
С. Умножить на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(4\) результатом является число \(28,\) при этом траектория вычислений содержит число \(11\) и не содержит числа \(18?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(14,\) \(18,\) \(19.\)

Решение:

Python


def f(n, targ, deny):
    if n == deny:
        return 0
    if n >= targ:
        return n == targ
    return f(n + 1, targ, deny) + f(n + 4, targ, deny) + f(n * 2, targ, deny)

print(f(4, 11, 18) * f(11, 28, 18))


Ответ: 483

ЕГЭ 2026. Крылов. Вариант 9

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Прибавить \(4\)
С. Умножить на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(3\) результатом является число \(24,\) при этом траектория вычислений не содержит числа \(11\) и не содержит числа \(17?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(14,\) \(18,\) \(19.\)

Решение:

Python


def f(n, targ, deny):
    if n in deny:
        return 0
    if n >= targ:
        return n == targ
    return f(n + 1, targ, deny) + f(n + 4, targ, deny) + f(n * 2, targ, deny)

print(f(3, 24, (11, 17)))


Ответ: 298

ЕГЭ 2026. Крылов. Вариант 8

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Умножить на \(2\)
С. Умножить на \(3\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(1\) траектория состоит из чисел \(3,\) \(6,\) \(7.\)

Решение:

Python


def f(n, targ):
    if n >= targ:
        return n == targ
    return f(n + 1, targ) + f(n * 2, targ) + f(n * 3, targ)

print(f(2, 8) * f(8, 30))


Ответ: 72

ЕГЭ 2026. Крылов. Вариант 7

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Умножить на \(2\)
С. Умножить на \(3\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(1\) траектория состоит из чисел \(3,\) \(6,\) \(7.\)

Решение:

Python


def f(n, targ):
    if n >= targ:
        return n == targ
    return f(n + 1, targ) + f(n * 2, targ) + f(n * 3, targ)

print(f(3, 9) * f(9, 30))


Ответ: 40

ЕГЭ 2026. Крылов. Вариант 6

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
В. Найти целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы BBA при исходном числе \(13\) траектория состоит из чисел \(6,\) \(3,\) \(1.\)

Решение:

Python


def f(n, targ):
    if n <= targ:
        return n == targ
    return f(n - 2, targ) + f(n // 2, targ)

print(f(52, 14) * f(14, 2))


Ответ: 64

ЕГЭ 2026. Крылов. Вариант 5

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
В. Найти целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы BBA при исходном числе \(13\) траектория состоит из чисел \(6,\) \(3,\) \(1.\)

Решение:

Python


def f(n, targ):
    if n <= targ:
        return n == targ
    return f(n - 2, targ) + f(n // 2, targ)

print(f(50, 11) * f(11, 2))


Ответ: 48

ЕГЭ 2026. Крылов. Вариант 4

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(1\)
В. Вычесть \(4\)
С. Найти целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(25\) результатом является число \(3,\) при этом траектория вычислений не содержит числа \(7\) и содержит \(10?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CAB при исходном числе \(13\) траектория состоит из чисел \(6,\) \(5,\) \(1.\)

Решение:

Python


def f(n, targ, deny):
    if n == deny:
        return 0
    if n <= targ:
        return n == targ
    return f(n - 1, targ, deny) + f(n - 4, targ, deny) + f(n // 2, targ, deny)

print(f(25, 10, 7) * f(10, 3, 7))


Ответ: 546

ЕГЭ 2026. Крылов. Вариант 3

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(1\)
В. Вычесть \(4\)
С. Найти целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(4,\) при этом траектория вычислений не содержит числа \(8\) и содержит \(12?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CAB при исходном числе \(13\) траектория состоит из чисел \(6,\) \(5,\) \(1.\)

Решение:

Python


def f(n, targ, deny):
    if n == deny:
        return 0
    if n <= targ:
        return n == targ
    return f(n - 1, targ, deny) + f(n - 4, targ, deny) + f(n // 2, targ, deny)

print(f(30, 12, 8) * f(12, 4, 8))


Ответ: 1358

💩 ЕГЭ 2026. Крылов. Вариант 2

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены номерами:

1. Прибавь \(1\)
2. Поменяй местами

Первая из этих команд увеличивает число на экране на \(1.\) Вторая команда может применяться только к числу, у которого цифра разряда десятков по значению меньше цифры, стоящей в разряде единиц, и действует, заменяя число на экране числом, в котором цифры двух младших разрядов поменялись местами.

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(110\) результатом является число \(154?\)

Решение:

Python


def change(s):
    return int(s[:-2] + s[-1] + s[-2])

def f(n, targ):
    if n >= targ:
        return n == targ
    s = str(n)
    if s[-2] < s[-1]:
        return f(n + 1, targ) + f(change(s), targ)
    return f(n + 1, targ)

print(f(110, 154))


Ответ: 34

💩 ЕГЭ 2026. Крылов. Вариант 1

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены номерами:

Прибавь \(1\)
Поменяй местами

Первая из этих команд увеличивает число на экране на \(1.\) Вторая команда может применяться только к числу, у которого цифра разряда десятков по значению меньше цифры, стоящей в разряде единиц, и действует, заменяя число на экране числом, в котором цифры двух младших разрядов поменялись местами.

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(101\) результатом является число \(154?\)

Решение:

Python


def change(s):
    return int(s[:-2] + s[-1] + s[-2])

def f(n, targ):
    if n >= targ:
        return n == targ
    s = str(n)
    if s[-2] < s[-1]:
        return f(n + 1, targ) + f(change(s), targ)
    return f(n + 1, targ)

print(f(101, 154))


Ответ: 89

💩 ЕГЭ 2026. Статград. 23.10.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавь \(1\)
В. Умножь на \(2\)
С. Умножь на \(3\)

Программа для исполнителя – это последовательность команд.

Сколько существует программ, которые преобразуют число \(6\) в число \(48,\) и при этом траектория вычислений содержит \(14\) или \(18?\) Траектория должна содержать хотя бы одно из указанных чисел.

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(ACB\) при исходном числе \(3\) траектория состоит из чисел \(4,\) \(12,\) \(24.\)

Решение:

Python


def f(n, targ):
    if n > targ:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ) + f(2 * n, targ) + f(3 * n, targ)

n14 = f(6, 14) * f(14, 48)
n18 = f(6, 18) * f(18, 48)
n1418 = f(6, 14) * f(14, 18) * f(18, 48)
print(n14 + n18 - n1418)


Ответ: 69

ЕГЭ. Основная волна. Пересдача. 03.07.2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
В. Найди целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы это последовательность результатов выполнения всех команд программы.

Например, для программы ABB при исходном числе \(13\) траектория состоит из чисел \(11,\) \(5,\) \(2.\)

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - 2, targ) + f(n // 2, targ)

print(f(48, 16) * f(16, 2))


Ответ: 72

ЕГЭ. Основная волна. Резерв. 23.06.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Умножить на \(3\)
С. Прибавить \(5\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(2\) результатом является число \(21,\) при этом траектория вычислений содержит число \(7\) и не содержит \(16?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(12,\) \(36,\) \(37.\)

Решение:

Python


def f(n, targ, deny):
    if n > targ or n == deny:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ, deny) + f(3 * n, targ, deny) + f(n + 5, targ, deny)

print(f(2, 7, 16) * f(7, 21, 16))


Ответ: 45

ЕГЭ. Основная волна. Резерв. 19.06.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Прибавить \(2\)
С. Умножить на \(2\)

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

Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(7\) траектория состоит из числе \(14,\) \(16,\) \(17.\)

Решение:

Python


def f(n, targ, deny):
    if n > targ or n == deny:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ, deny) + f(n + 2, targ, deny) + f(2 * n, targ, deny)

print(f(3, 7, 10) * f(7, 20, 10))


Ответ: 792

ЕГЭ. Основная волна. 11.06.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(1\)
В. Вычесть \(4\)
С. Найди целую часть от деления на \(3\)

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

Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(22\) траектория состоит из числе \(7,\) \(3,\) \(2.\)

Решение:

Python


def f(n, targ):
    if n < targ or n == 8:
        return 0
    if n == targ:
        return 1
    return f(n - 1, targ) + f(n - 4, targ) + f(n // 3, targ)

print(f(19, 14) * f(14, 2))


Ответ: 69

ЕГЭ. Основная волна. 10.06.2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(3\)
В. Найди целую часть от деления на \(3\)

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

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - 3, targ) + f(n // 3, targ)

print(f(81, 27) * f(27, 3))


Ответ: 10

ЕГЭ. Апробация. 14.05.2025-1

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Умножить на \(2\)
С. Умножить на \(3\)

Программа для исполнителя — это последовательность команд.

Сколько существует таких программ, для которых при исходном числе \(1\) результатом является число \(26,\) и при этом траектория вычислений программы содержит число \(14\) и не содержит \(9?\)

Траектория вычислений программы — это последовательность результатов выполнения последовательности команд. Например, для программы \(CBA\) при исходном числе \(7\) траектория состоит из чисел \(21, \, 42, \, 43.\)

Решение:

Python


def f(n, targ):
    if n > targ or n == 9:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ) + f(2 * n, targ) + f(3 * n, targ)

print(f(1, 14) * f(14, 26))


Ответ: 30

ЕГЭ. ЕГКР. 19.04.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавь \(3\)
В. Прибавь \(7\)
С. Умножь на \(3\)

Программа для исполнителя — это последовательность команд.

Сколько существует таких программ, которые исходное число \(12\) преобразуют в \(89,\) и при этом траектория вычислений программы содержит числа \(40\) и \(72\) и не содержит \(56?\)

Траектория вычислений программы — это последовательность результатов выполнения последовательности команд. Например, для программы \(CBA\) при исходном числе \(7\) траектория состоит из чисел \(21, \, 28, \, 31.\)

Решение:

Python

def f(n, target, deny):
    if n > target or n == deny:
        return 0
    if n == target:
        return 1
    return f(n + 3, target, deny) + f(n + 7, target, deny) + f(3 * n, target, deny)

print(f(12, 40, 56) * f(40, 72, 56) * f(72, 89, 56))

Ответ: 324

ЕГЭ. Досрочный экзамен. 08.04.2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Прибавить \(2\)
С. Умножить на \(2\)

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют число \(7\) в число \(51,\) и при этом траектория вычислений содержит числа \(13\) и \(15,\) но не содержит числа \(35?\)

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ACB при исходном числе \(2\) траектория состоит из чисел \(3, \, 6, \, 8.\)

Решение:

Python


def f(n, targ):
    if n > targ or n == 35:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ) + f(n + 2, targ) + f(2 * n, targ)

print(f(7, 13) * f(13, 15) * f(15, 51))


Ответ: 174034068

ЕГЭ. Апробация. 05.03.2025-2

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
В. Найди целую часть от деления на \(2.\)

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(13\) траектория состоит из чисел \(11,\) \(5,\) \(2.\)

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - 2, targ) + f(n // 2, targ)

print(f(38, 16) * f(16, 2))

Ответ: 36

ЕГЭ. Апробация. 05.03.2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(1\)
В. Найди целую часть от деления на \(2\)

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABB при исходном числе \(10\) траектория состоит из чисел \(9, \, 4, \, 2.\)

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - 1, targ) + f(n // 2, targ)

print(f(30, 12) * f(12, 1))


Ответ: 376

ЕГЭ. Шастин. 7.6.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(4\)
С. Умножить на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(12\) результатом является число \(38,\) и при этом траектория вычислений содержит либо \(22,\) либо \(24,\) но не \(22\) и \(24\) одновременно?

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(14,\) \(16,\) \(20.\)

Решение:

Идем от 12 к 38. Проскакиваем или 22, или 24, что-то одно. То есть варианты
от 12 до 22 *  от 22 до 38, пропуская 24
ПЛЮС
от 12 до 24 * от 24 до 38, пропуская 22.

Python


def f(n, targ, deny):
    if n > targ or n == deny:
        return 0
    if n == targ:
        return 1
    return f(n + 2, targ, deny) + f(n + 4, targ, deny) + f(2 * n, targ, deny)

print(f(12, 22, 24) * f(22, 38, 24) + f(12, 24, 22) * f(24, 38, 22))

Ответ: 230

☠️ ЕГЭ. Шастин. 5.6.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(2\)
В. Вычесть \(20\)
С. Найти целую часть от деления на \(3\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(161\) результатом является число \(7,\) при этом траектория вычислений содержит все нечётные числа из диапазона \([10; \, 50]?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(91\) траектория будет состоять из чисел \(30,\) \(10,\) \(8.\)

Решение:

Диапазон [10; 50] и нечётные числа в нём: это 11, 13, 15, ..., 49. То есть первый промежуток от 161 до 49, затем от 49 до 47, от 47 до 45 ... от 11 до 7.

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n-2, targ) + f(n-20, targ) + f(n // 3, targ)

ans = f(161, 49)
for x in range(49, 12, -2):
    ans *= f(x, x - 2)
ans *= f(11, 7)
print(ans)

С комментариями:

# Определяем рекурсивную функцию f(n, targ), которая возвращает количество программ,
# переводящих число n в число targ с помощью команд A, B, C.
def f(n, targ):
    # Если текущее число n стало меньше целевого targ, то достичь цели невозможно,
    # так как все команды уменьшают число.
    if n < targ:
        return 0
    # Если достигли целевого числа, найдена одна программа (пустая или завершённая).
    if n == targ:
        return 1
    # Рекурсивно суммируем количество программ для трёх возможных команд:
    # A: вычесть 2, B: вычесть 20, C: взять целую часть от деления на 3.
    return f(n-2, targ) + f(n-20, targ) + f(n // 3, targ)

# Начинаем с подсчёта количества программ, переводящих 161 в 49 (первое нечётное число диапазона).
# Это соответствует первому отрезку траектории: от начального числа до максимального нечётного в диапазоне.
ans = f(161, 49)

# Теперь обрабатываем все нечётные числа из диапазона [10; 50] в порядке убывания:
# от 49 до 11 включительно, с шагом -2 (49, 47, 45, ..., 13).
# Для каждой пары соседних нечётных чисел (x, x-2) считаем количество программ,
# переводящих x в x-2, и умножаем на общий ответ.
# Это соответствует отрезкам траектории между последовательными нечётными числами.
for x in range(49, 12, -2):
    ans *= f(x, x - 2)

# Наконец, учитываем последний отрезок: от минимального нечётного числа диапазона (11) до конечного числа 7.
ans *= f(11, 7)

# Выводим общее количество программ, удовлетворяющих условию.
print(ans)

Ответ: 9718

💩 ЕГЭ. Шастин. 3.6.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть первую цифру
В. Вычесть последнюю цифру, если она не равна нулю, иначе вычесть \(2\)
С. Найти целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(47\) результатом является число \(14,\) при этом траектория вычислений содержит числа \(40\) и \(18?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(51\) траектория будет состоять из чисел \(25,\) \(20,\) \(18.\)

Решение:

Python


def f(n, targ):
    if n < targ:
        return 0
    if n == targ:
        return 1
    return f(n - int(str(n)[0]), targ) + f(n - n % 10 if n % 10 else n - 2, targ) + f(n // 2, targ)

print(f(47, 40) * f(40, 18) * f(18, 14))

Ответ: 258

ЕГЭ. Шастин. 1.6.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(3\)
В. Прибавить \(5\)
С. Возвести в квадрат

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(3\) результатом является число \(51,\) и при этом траектория вычислений содержит число \(16\) и не содержит \(27?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(49,\) \(54,\) \(57.\)

Решение:

Python


def f(n, targ, deny):
    if n > targ or n == deny:
        return 0
    if n == targ:
        return 1
    return f(n + 3, targ, deny) + f(n + 5, targ, deny) + f(n**2, targ, deny)

print(f(3, 16, 27) * f(16, 51, 27))

Ответ: 225

💩 ЕГЭ Статград. Профиль. 12.05.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены буквами.

А. Прибавь \(3\)
В. Умножь на \(2\)
С. Раздели нацело на \(3\)

Программа для исполнителя – это последовательность команд.

Сколько существует программ, которые преобразуют исходное число \(6\) в число \(25,\) и при этом команда С выполняется в программе не более одного раза?

Решение:

Python


def f(n, targ, c):
    if c > 1 or n > targ * 3:
        return 0
    if n == targ:
        return 1
    return f(n + 3, targ, c) + f(2 * n, targ, c) + f(n // 3, targ, c+1)

print(f(6, 25, 0))

Ответ: 180

💩 ЕГЭ Статград. База. 12.05.2025

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(3\)
В. Прибавить \(5\)
С. Умножить на \(2\)

Программа для исполнителя – это последовательность команд.

Сколько существует программ, для которых при исходном числе \(4\) результатом является число \(31,\) и при этом траектория вычислений содержит хотя бы одно из чисел – \(14\) или \(19?\)

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(7\) траектория состоит из чисел \(14,\) \(19,\) \(22.\)

Решение:

Хотя бы одно значит или одно из чисел, или оба числа.

Python


def f(n, targ, fl):
    if n == targ and fl:
        return 1
    if n >= targ:
        return 0
    if not fl:
        fl = n in (14, 19)
    return f(n + 3, targ, fl) + f(n + 5, targ, fl) + f(2 * n, targ, fl)

print(f(4, 31, False))

или второй вариант, для тех, кто забыл первый:

сначала определим сколько всего вариантов из 4 в 31

def f(n, targ):
    if n > targ:
        return 0
    if n == targ:
        return 1
    return f(n + 3, targ) + f(n + 5, targ) + f(2 * n, targ)

print(f(4, 31))

получили 67, а потом определим сколько не содержат 14 и 19

def f(n, targ, deny):
if n > targ or n in deny:
return 0
if n == targ:
return 1
return f(n + 3, targ, deny) + f(n + 5, targ, deny) + f(2 * n, targ, deny)

print(f(4, 31, (14,19)))

это 45
67-45=22

Ответ: 22

ЕГЭ. Демо-2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
В. Найди целую часть от деления на \(2\)

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

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.

Например, для программы \(ABB\) при исходном числе \(13\) траектория состоит из чисел \(11\), \(5\), \(2\).

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    elif n == t:
        return 1
    return f(n - 2, t) + f(n // 2, t)

print(f(38, 16) * f(16, 2))

C++


#include<iostream>

using namespace std;

int f(int n, int t) {
   if (n < t)
       return 0;
   else if (n == t)
       return 1;
   else
       return f(n - 2, t) + f(n / 2, t);

}

int32_t main() {
    cout << f(38, 16) * f(16, 2) << '\n';
}


Ответ: 36

ЕГЭ. Шастин. 7.05.2025

(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычти \(2.\)
В. Вычти \(3.\)
С. Извлеки корень.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы \(ABC\) при исходном числе \(40\) траектория будет состоять из чисел \(38,\) \(35,\) \(5.\)

Решение:

Python


from math import floor

def f(n, targ):
    if n < targ or n == 20:
        return 0
    if n == targ:
        return 1
    return f(n - 2, targ) + f(n - 3, targ) + f(floor(n**0.5), targ)

print(f(26, 3))

Ответ: 276

ЕГЭ. Шастин. 13.03.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(3\)
С. Прибавить \(5\)

Программа для исполнителя — это последовательность команд. Например, для программы CBA при исходном числе \(5\) траектория будет состоять из чисел \(10, \, 13, \, 15.\)

Сколько существует программ, для которых при исходном числе \(5\) результатом является число \(37,\) при этом траектория вычислений содержит все числа (из диапазона \([5; \, 37])\), кратные \(11?\)

Решение:

Легко вручную прикинуть числа, через которые будет проходить траектория - это 11,  22 и 33.

Python


def f(n, targ):
    if n > targ:
        return 0
    if n == targ:
        return 1
    return f(n + 2, targ) + f(n + 3, targ) + f(n + 5, targ)

print(f(5, 11) * f(11, 22) * f(22, 33) * f(33, 37))


Ответ: 512

ЕГЭ. ЕГКР. 21.12.2024

Исполнитель Калькулятор преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:

вычти \(1\)
вычти \(6\)
найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1,\) вторая команда уменьшает это число на \(6,\) третья команда делит число нацело на \(2.\) Программа для исполнителя — это последовательность команд.

Сколько существует таких программ, которые исходное число \(34\) преобразуют в число \(6\) и при этом траектория вычислений программы содержит числа \(19\) и \(20\) и не содержит числа \(24?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABC\) при исходном числе \(14\) траектория состоит из чисел \(13,\) \(7,\) \(3.\)

Решение:

Python


def f(n, t):
    if n < t or n == 24:
        return 0
    if n == t:
        return 1
    return f(n - 1, t) + f(n - 6, t) + f(n // 2, t)

print(f(34, 20) * f(20, 19) * f(19, 6))


Ответ: 230

ЕГЭ. Статград. 01.04.2025-1

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. вычти \(1\)
В. найди целую часть от деления на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, которые преобразуют число \(51\) в число \(7,\) и при этом траектория вычислений содержит числа \(15\) и \(17,\) но не содержит числа \(32?\)

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы ABA при исходном числе \(7\) траектория состоит из чисел \(6, \, 3, \, 2.\)

Решение:

Python


def f(n, targ):
    if n < targ or n == 32:
        return 0
    if n == targ:
        return 1
    return f(n - 1, targ) + f(n // 2, targ)

print(f(51, 17) * f(17, 15) * f(15, 7))


Ответ: 54

ЕГЭ. Статград. 04.03.2025

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены буквами.

А. Прибавь \(1\)
В. Умножь на \(2\)

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

Решение:

Python


def f(n, targ):
    if n > targ or n // 10 == 2 or n % 10 == 2:
        return 0
    if n == targ:
        return 1
    return f(n + 1, targ) + f(2 * n, targ)

print(f(3, 36))


Ответ: 13

ЕГЭ. Статград. 28.01.2025-1

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены буквами.

Вычти \(2\)
Если число кратно \(3,\) Раздели на \(3,\) Иначе Вычти \(4\)

Программа для исполнителя – это последовательность команд. Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы BAB при исходном числе \(99\) траектория будет состоять из чисел \(33, \, 31, \, 27.\)

Сколько существует программ, которые преобразуют исходное число \(36\) в число \(4\) и при этом траектория вычислений не содержит числа \(16?\)

Решение:

Python


def f(n, t, d):
    if n < t or n == d:
        return 0
    if n == t:
        return 1
    return f(n - 2, t, d) + f(n // 3 if n % 3 == 0 else n - 4, t, d)

print(f(36, 4, 16))


Ответ: 40

ЕГЭ. Статград. 17.12.2024

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены буквами:

А. Вычти \(3\)
В. Если число чётное, Раздели на \(2,\) Иначе Вычти \(5\)

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют исходное число \(36\) в число \(3\) и при этом траектория вычислений не содержит числа \(12?\)

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы BAB при исходном числе \(100\) траектория будет состоять из чисел \(50,\) \(47,\) \(42.\)

Решение:

Python


def f(n, t):
    if n < t or n == 12:
        return 0
    if n == t:
        return 1
    return f(n - 3, t) + f(n // 2 if n % 2 == 0 else n - 5, t)

print(f(36, 3))


Ответ: 16

ЕГЭ. Статград. 24.10.2024-1

Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены буквами:

Вычти \(2\)
Найди целую часть от деления на \(2\)
Найди целую часть от деления на \(3\)

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют исходное число \(40\) в число \(4\) и при этом траектория вычислений содержит число \(20\)?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(BAC\) при исходном числе \(50\) траектория будет состоять из чисел \(25\), \(23\), \(7\).

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    if n == t:
        return 1
    return f(n - 2, t) + f(n // 2, t) + f(n // 3, t)

print(f(40, 20) * f(20, 4))


Ответ: 24

ЕГЭ. Шастин. 9.2.2025

(Д. Бахтиев) Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(3\)
В. Подели на \(2\)

Первая команда уменьшает число на экране на \(3\), вторая команда делит число на \(2\) (результат округляется в большую сторону в случае нецелого представления). Программа для исполнителя — это последовательность команд.

Сколько существует таких программ, которые исходное число \(69\) преобразуют в число \(14,\) и при этом траектория вычислений не содержит чисел \(26\) и \(30\)?

Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы АВА при исходном числе \(100\) траектория состоит из чисел \(97, \, 49, \, 46.\)

Решение:

Python


from math import ceil

def f(n, t, deny):
    if n < t or n in deny:
        return 0
    if n == t:
        return 1
    return f(n -3, t, deny) + f(ceil(n / 2), t, deny)

print(f(69, 14, (26, 30)))


Ответ: 5

ЕГЭ. Шастин. 19.01.2025

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
В. Прибавить \(3\)
С. Умножить на \(2\)

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(8\) результатом является число \(35,\) и при этом траектория вычислений не содержит чисел \(20\) и \(30\) одновременно?

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(CBA\) при исходном числе \(7\) траектория состоит из чисел \(14,\) \(17,\) \(19.\)

Решение:

Python


def f(n, flag):
    if n == 20:
        flag = True
    if n > 35 or flag and n == 30:
        return 0
    if n == 35:
        return 1
    return f(n + 2, flag) + f(n + 3, flag) + f(2 * n, flag)

print(f(8, False))


Ответ: 786

ЕГЭ. Шастин. 18.12.2024

(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычти \(3;\)
В. Найди целую часть от деления на \(2;\)
С. Найди целую часть от деления на \(5.\)

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(20\) траектория состоит из чисел \(17,\) \(8,\) \(4.\)

Решение:

Python


def f(n, t):
    if n < t or n == 40:
        return 0
    if n == t:
        return 1
    return f(n - 3, t) + f(n // 2, t) + f(n // 5, t)

print(f(120, 49) * f(49, 6))


Ответ: 40

ЕГЭ. Шастин. 30.11.2024

(Д. Бахтиев) исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавь \(1.\)
В. Умножь на \(2.\)
С. Умножь на \(3.\)

Команда \(A\) увеличивает число на экране на \(1\); команда \(B\) увеличивает число на экране в два раза; команда \(C\) увеличивает число в \(3\) раза. Программа для исполнителя — это последовательность команд. Сколько существует программ, для которых при исходном числе \(10\) результатом является число \(70\) и при этом траектория вычислений содержит число \(30\) или число \(60,\) но не оба числа одновременно?

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(4\) траектория состоит из чисел \(5,\) \(10,\) \(20.\)

Решение двумя способами:

Python


def f(n, t, c):
    if n == 30 or n == 60:
        c += 1
    if n > t:
        return 0
    if n == t:
        if c == 1:
            return 1
        else:
            return 0
    return f(n + 1, t, c) + f(2 * n, t, c) + f(3 * n, t, c)

print(f(10, 70, 0))

Другой способ


def f(n, t, d):
    if n > t or n == d:
        return 0
    if n == t:
        return 1
    return f(n + 1, t, d) + f(2 * n, t, d) + f(3 * n, t, d)

print(f(10, 30, 0) * f(30, 70, 60) + f(10, 60, 30) * f(60, 70, 0))


Ответ: 95

💩 ЕГЭ. Шастин. 6.11.2024

(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Прибавь \(3\).
В. Прибавь максимальную цифру.

Команда \(A\) увеличивает число на экране на \(3\); команда \(B\) увеличивает число на экране на его максимальную цифру. Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(10\) результатом является число \(41\) и при этом траектория вычислений содержит число \(24\)? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(23\) траектория состоит из чисел \(26\), \(32\), \(35\).

Решение:

Python


def mdig(n):
    return max(int(x) for x in str(n))

def f(n, t):
    if n > t:
        return 0
    if n == t:
        return 1
    return f(n+3, t) + f(n + mdig(n), t)

print(f(10, 24) * f(24, 41))


Ответ: 36

ЕГЭ. Шастин. 18.10.2024

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\).
B. Прибавить \(5\).
C. Возвести в квадрат.

Программа для исполнителя — это последовательность команд. Например, для программы \(CBA\) при исходном числе \(%\) траектория будет состоять из чисел \(25, \, 30, \, 32.\)

Сколько существует программ, для которых при исходном числе \(4\) результатом является число \(36\) и при этом последняя в них команда — не \(C\)?

Решение:

Python


def f(n, t, com):
    if n > t:
        return 0
    if n == t:
        return int(com != 'C')
    return f(n + 2, t, 'A') + f(n + 5, t, 'B') + f(n**2, t, 'C')

print(f(4, 36, 'X'))


Ответ: 319

ЕГЭ. Шастин. 4.10.2024

(Д. Бахтиев) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(4\).
B. Вычесть \(7\).
C. Извлечь целый корень.
Команда \(A\) вычитает из числа на экране \(4\); команда \(B\) вычитает из числа на экране \(7\); команда \(C\) извлекает из числа корень (в случае нецелого результата значение округляется до ближайшего меньшего целого).

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(20\) траектория состоит из чисел \(16\), \(9\), \(2\).

Решение:

Python


from math import floor

def f(n, target):
    if n < target:
        return 0
    if n == target:
        return 1
    return f(n - 4, target) + f(n - 7, target) + f(floor(n**0.5), target)

print(f(44, 22) * f(22, 3))


Ответ: 54

ЕГЭ. Шастин. 19.09.2024

(Л. Шастин) Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Вычесть \(2\)
Вычесть \(3\)
Найти целую часть от деления на \(4\)

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(CBA\) при исходном числе \(51\) траектория будет состоять из чисел \(12\), \(9\), \(7\).

Решение:

Python


def f(num, target, deny):
    if num < target or num == deny:
        return 0
    if num == target:
        return 1
    return f(num - 2, target, deny) + f(num - 3, target, deny) + f(num // 4, target, deny)

print(f(36, 13, 24))


Ответ: 157

ЕГЭ. Шастин. 29.08.2024

Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

A. Прибавить 3
B. Прибавить 4

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют число \(16\) в число \(38\), и при этом траектория вычислений не содержит числа \(22\)?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(BAB\) при исходном числе \(7\) траектория состоит из чисел \(11\), \(14\), \(18\).

Решение:

...

C++


#include<iostream>

using namespace std;

int f(int n, int t, int d) {
    if (n > t || n == d)
        return 0;
    else if(n == t)
        return 1;
    return f(n + 3, t, d) + f(n + 4, t, d);
}

int32_t main() {
    cout << f(16, 38, 22) << '\n';
}


Ответ: 16

ЕГЭ. Поляков-7572

(ЕГЭ-2024) У исполнителя имеются две команды, которые обозначены латинскими буквами.

А. Вычесть \(2\)
B. Найти целую часть от деления на \(2\)

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

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    if n == t:
        return 1
    return f(n - 2, t) + f (n // 2, t)

print(f(32, 14) * f(14, 1))


Ответ: 54

ЕГЭ. Поляков-7530

(ЕГЭ-2024) У исполнителя имеются две команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
B. Прибавить \(2\)
С. Прибавить \(3\)

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

Решение:

Python


def f(n, t):
    if n > t:
        return 0
    if n == t:
        return 1
    return f(n + 1, t) + f(n + 2, t) + f(n + 3, t)

print(f(5, 7) * f(7, 11))


Ответ: 14

ЕГЭ. Поляков-7492

(ЕГЭ-2024) У исполнителя имеются три команды, которые обозначены латинскими буквами.

А. Вычесть \(1\)
B. Вычесть \(2\)
C. Найти целую часть от деления на \(3\)

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

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    if n == t:
        return 1
    return f(n - 1, t) + f(n - 2, t) + f(n // 3, t)

print(f(16, 11) * f(11, 6))


Ответ: 64

ЕГЭ. Поляков-7436

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

А. Прибавить 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

☠️☠️☠️ ЕГЭ. Поляков-7401

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

Умножить на \(2\)
Прибавить \(3\)

Первая команда умножает число на \(2\), вторая увеличивает его на \(3\). Программа для исполнителя — это последовательность команд. Рассматриваются все программы, в которых при исходном числе \(2\) результатом является число \(70\), причём

а) команда сложения не применяется более двух раз подряд;
б) траектория вычислений проходит либо через числа \(8\) и \(16\), либо через число \(32\) (но не через все три числа одновременно).

Сколько различных чисел содержится во всех таких траекториях вычислений?

Решение:

Python


p = []

def f(n, t, a):
    global p
    tmp_a = []
    for x in a:
        tmp_a.append(x)
    tmp_a.append(n)
    if n > t:
        return 0
    if n == t:
        p.append(tmp_a)
        return 1
    return f(2 * n, t, tmp_a) + f(n + 3, t, tmp_a)

f(2, 70, [])

# print(p) # Посмотреть на все траектории

p1 = []

for x in p:
    if not(8 in x and 16 in x and 32 in x):
        p1.append(x)

# print(p1) # Посмотреть на все траектории, которые не проходят одновременно через 8, 16 и 32

p2 = []

for x in p1:
    t = [b - a == c - b == d - c == 3 for a, b, c, d in zip(x, x[1:], x[2:], x[3:])]
    if not any(t):
        p2.append(x)

# print(p2) # Печать всех траекторий, удовлетворяющих условию задачи
            
s = set(x for y in p2 for x in y)

print(len(s))


Ответ: 12

ЕГЭ. Поляков-7379

(М. Шагитов) У исполнителя Калькулятор имеются три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
B. Прибавить \(4\)
C. Умножить на \(2\)

Программа для исполнителя — это последовательность команд, каждая из которых изменяет число. Требуется найти количество таких программ, которые преобразуют исходное число \(1\) в число \(50\), и при этом траектория вычислений содержит ровно одно из чисел \(8\), \(16\), или \(32\).

Решение:

Python


def f(n, t, d):
    if n > t or n in d:
        return 0
    if n == t:
        return 1
    return f(n + 1, t, d) + f(n + 4, t, d) + f(n * 2, t, d)

print(f(1, 8, ()) * f(8, 50, (16, 32)) + f(1, 16, (8,)) * f(16, 50, (32,)) + f(1, 32, (8, 16)) * f(32, 50, ()))


Ответ: 6370599

??? ЕГЭ. Поляков-7371

(А. Игнатюк) Теодор пришел в магазин, чтобы разменять сумму в \(112~500\) рублей монетами в \(1\), \(3\) и \(5\) рублей. Определите, сколько у Теодора существует способов сделать это. В ответ запишите сумму цифр полученного числа.

Решение:

(Я. Малыгин) Требуемая сумма набирается разным количеством одно- трех- и пятирублевых монет. Например, пусть в сумме нет ни одной пятирублевой монеты. Количество таких вариантов будет определяться возможным количеством трехрублевых монет, которых может быть от \(0\) до \(112500 // 3\) (целочисленное деление на три), т.е. \(37501\) вариантов. Недостающий остаток суммы «добивается» рублевыми монетами. Например, если \(10~000\) трехрублевых монет, то остаток \(112500 - 3 \cdot 10000 = 82500.\) Если пятирублевая монета одна, то количество вариантов будет \((112500 - 1 \cdot 5) //3 +1.\) Т.е. общее число вариантов можно посчитать следующим алгоритмом (\(i\) — количество пятирублевых монет в наборе):

Python


n = 0
for i in range(112500//5+1): n+= (112500 - 5*i)//3 + 1
a = [int(x) for x in str(n)]
print(sum(a))


Ответ: 37

ЕГЭ. Поляков-7225

(М. Шагитов) У исполнителя Калькулятор имеются три команды, которые обозначены латинскими буквами.

А. Прибавить \(3\)
B. Умножить на \(5\)
C. Умножить на \(7\)

Программа для исполнителя — это последовательность команд, каждая из которых изменяет число. Найдите количество программ, для которых при исходном числе \(1\) результатом является число \(1000\), и при этом запрещено использование команды \(B\) сразу после команды \(A\).

Решение:

Python


def f(n, t, p):
    if n > t:
        return 0
    if n == t:
        return 1
    if p == 'A':
        return f(n + 3, t, 'A') + f(n * 7, t, 'C')
    else:
        return f(n + 3, t, 'A') + f(n * 5, t, 'B') + f(n * 7, t, 'C')
    
print(f(1, 1000, ''))


Ответ: 366

ЕГЭ. Поляков-7224

(М. Шагитов) У исполнителя Калькулятор имеются три команды, которые обозначены латинскими буквами.

А. Прибавить \(2\)
B. Прибавить \(3\)
C. Умножить на \(4\)

Программа для исполнителя — это последовательность команд, каждая из которых изменяет число. Найдите количество программ, для которых при исходном числе \(1\) результатом является число \(50\), и при этом запрещено использование команды \(А\) сразу после команды \(С\).

Решение:

Python


def f(n, t, p):
    if n > t:
        return 0
    if n == t:
        return 1
    if p == 'C':
        return f(n + 3, t, 'B') + f(n * 4, t, 'C')
    return f(n + 2, t, 'A') + f(n + 3, t, 'B') + f(n * 4, t, 'C')

print(f(1, 50, ''))


Ответ: 484575

ЕГЭ 2024. Пересдача. 04.07.2024

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначение латинскими буквами:

A. Вычти \(2\).
B. Найди целую часть от деления на \(2\).

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(38\) результатом является число \(2\) и при этом траектория вычисления содержит число \(10\)?

Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(13\) траектория состоит из чисел \(11\), \(5\), \(2\).

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    if n == t:
        return 1
    return f(n - 2, t) + f(n // 2, t)

print(f(38, 10) * f(10, 2))


Ответ: 30

ЕГЭ 2024. Резерв. 19.06.2024

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначение латинскими буквами:

A. Вычти \(2\).
B. Найди целую часть от деления на \(2\).

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(32\) результатом является число \(1\) и при этом траектория вычисления содержит число \(8\)?

Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(13\) траектория состоит из чисел \(11\), \(5\), \(2\).

Решение:

Python


def f(n, target):
    if n < target:
        return 0
    if n == target:
        return 1
    return f(n - 2, target) + f(n // 2, target)

print(f(32, 8) * f(8, 1))


Ответ: 42

ЕГЭ 2024. Основная волна. 07.06.2024

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначение латинскими буквами:

A. Вычти \(1\).
B. Найди целую часть от деления на \(2\).

Программа для исполнителя — это последовательность команд.

Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(1\) и при этом траектория вычисления содержит число \(8\)?

Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(ABB\) при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение:

Python


def f(n, t):
    if n < t:
        return 0
    if n == t:
        return 1
    return f(n-1, t) + f(n // 2, t)

print(f(30, 8) * f(8, 1))


Ответ: 288

ЕГЭ 2024. Лещинер-1

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(2\) результатом является число \(23\) и пи этом траектория вычислений содержит число \(10\) и не содержит числа \(17\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(17\).

Решение:

Python


def F(num, target):
    if num > target or num == 17:
        return 0
    if num == target:
        return 1
    return F(num + 1, target) + F(2 * num, target)


print(F(2, 10)*F(10, 23))


Ответ: 14

Демо 2024

Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены латинскими буквами.

А. Прибавить \(1\)
В. Умножить на \(2\)
С. Возвести в квадрат

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(2\) результатом является число \(20\), при этом траектория вычислений не содержит числа \(11\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы CBA при исходном числе \(4\) траектория будет состоять из чисел \( 16, \, 32, \, 33\).

Решение:

Python


def f(num, target):
    if num == target:
        return 1
    if num > target or num == 11:
        return 0
    return f(num+1, target) + f(2*num, target) + f(num**2, target)

print(f(2, 20))


Ответ: 37

Апробация 10.03.2023

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами.

А. Вычти \(2\)
B. Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(2\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(40\) результатом является число \(2\) и при этом траектория вычислений программы содержит число \(10\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(ABB\) при исходном числе \(13\) траектория будет состоять из чисел \(11\), \(5\), \(2\)

Решение:

Python


def F(n, target):
    if n < target:
        return 0
    if n == target:
        return 1
    return F(n - 2, target) + F(n // 2, target)

print(F(40, 10) * F(10, 2))


Ответ: 40

Статград 2023-2-2

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число \(1\), то программа \(212\) последовательно преобразует его в \(2\), \(3\), \(6\).
Сколько существует программ, для которых преобразуют исходное число \(1\) в число \(16\), и при этом никакая команда не повторяется более двух раз подряд?

Решение:

Python


def F(n, target, com1, com2):
    if com1 > 2 or com2 > 2 or n > target:
        return 0
    if n == target:
        return 1
    return F(n+1, target, com1+1, 0) + F(2*n, target, 0, com2+1)

print(F(1, 16, 0, 0))


Ответ: 5

Статград 2023-2-1

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число \(1\), то программа \(212\) последовательно преобразует его в \(2\), \(3\), \(6\).
Сколько существует программ, для которых преобразуют исходное число \(1\) в число \(14\), и при этом никакая команда не повторяется более двух раз подряд?

Решение:

Python


def F(n, target, com1, com2):
    if com1 > 2 or com2 > 2 or n > target:
        return 0
    if n == target:
        return 1
    return F(n+1, target, com1+1, 0) + F(2*n, target, 0, com2+1)

print(F(1, 14, 0, 0))


Ответ: 6

Статград 2023-1-2

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число \(1\), то программа \(212\) последовательно преобразует его в \(2\), \(3\), \(6\).
Сколько существует программ, для которых преобразуют исходное число \(1\) в число \(60\) так, что в процессе выполнения на экране ни разу не появляется цифра \(5\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target or '5' in str(n):
        return 0
    return f(n+1, target) + f(2*n, target)

print(f(1, 60))


Ответ: 18

Статград 2023-1-1

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число \(1\), то программа \(212\) последовательно преобразует его в \(2\), \(3\), \(6\).
Сколько существует программ, для которых преобразуют исходное число \(1\) в число \(40\) так, что в процессе выполнения на экране ни разу не появляется цифра \(3\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target or '3' in str(n):
        return 0
    return f(n+1, target) + f(2*n, target)

print(f(1, 40))


Ответ: 16

Фоксфорд 2023-4

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(1\) результатом является число \(54\) и при этом траектория вычислений программы содержит число \(14\) и не содержит \(22\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target or n == 22:
        return 0
    return f(n+1, target) + f(2*n, target)

print(f(1, 14) * f(14, 54))


Ответ: 208

Фоксфорд 2023-3

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(1\) результатом является число \(48\) и при этом траектория вычислений программы содержит число \(16\) и не содержит \(23\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target or n == 23:
        return 0
    return f(n+1, target) + f(2*n, target)

print(f(1, 16) * f(16, 48))


Ответ: 252

2023-20

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя Счётчик — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(2\) результатом является число \(26\) и при этом траектория вычислений программы содержит число \(10\) и не содержит числа \(19\)? Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target or n == 19:
        return 0
    return f(n+1, target) + f(n*2, target)

print(f(2, 10) * f(10, 26))


Ответ: 28

2023-19

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(2\).

Программа для исполнителя Счётчик — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(3\) результатом является число \(27\) и при этом траектория вычислений программы содержит число \(12\) и не содержит числа \(23\)? Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target or n == 23:
        return 0
    return f(n+1, target) + f(n*2, target)

print(f(3, 12) * f(12, 27))


Ответ: 12

2023-18

Исполнитель М132 преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(3\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(3\), третья умножает его на \(2\).

Программа для исполнителя М132 — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(3\) в число \(14\) и при этом траектория вычислений программы содержит числа \(8\) и \(11\)? Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(19\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+1, target) + f(n+3, target) + f(n*2, target)

print(f(3, 8) * f(8, 11) * f(11, 14))


Ответ: 24

2023-17

Исполнитель М132 преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(3\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(3\), третья умножает его на \(2\).

Программа для исполнителя М132 — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(2\) в число \(14\) и при этом траектория вычислений программы содержит числа \(6\) и \(9\)? Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(19\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+1, target) + f(n+3, target) + f(n*2, target)

print(f(2, 6) * f(6, 9) * f(9, 14))


Ответ: 40

2023-16

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(5\)
Прибавить \(4\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(5\), вторая увеличивает его на \(4\), третья умножает его на \(3\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(2\) в число \(30\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(1\) траектория будет состоять из чисел \(6\), \(18\), \(22\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+5, target) + f(n+4, target) + f(n*3, target)

print(f(2, 6) * f(6, 30))


Ответ: 16

2023-15

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(3\)
Прибавить \(4\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(3\), вторая увеличивает его на \(4\), третья умножает его на \(3\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(30\) и при этом траектория вычислений программы содержит число \(7\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(2\) траектория будет состоять из чисел \(5\), \(15\), \(19\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+3, target) + f(n+4, target) + f(n*3, target)

print(f(1, 7) * f(7, 30))


Ответ: 58

2023-14

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(2\), вторая умножает его на \(2\), третья умножает его на \(3\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(2\) в число \(28\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(36\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n*2, target) + f(n*3, target)

print(f(2, 6) * f(6, 28))


Ответ: 30

2023-13

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(2\), вторая умножает его на \(2\), третья умножает его на \(3\).
Программа для Вычислителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(24\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд. Например, для программы \(132\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(36\)

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n*2, target) + f(n*3, target)

print(f(1, 6) * f(6, 24))


Ответ: 40

2023-12

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(3\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на число, равное целой части от деления числа на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число \(37\) в число \(2\), и при этом траектория вычислений содержит число \(10\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория состоит из чисел \(17\), \(5\), \(4\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 3, target)

print(f(37, 10)*f(10, 2))


Ответ: 54

2023-11

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(3\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на число, равное целой части от деления числа на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число \(33\) в число \(1\), и при этом траектория вычислений содержит число \(9\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория состоит из чисел \(17\), \(5\), \(4\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 3, target)

print(f(33, 9)*f(9, 1))


Ответ: 72

2023-10

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число \(31\) в число \(2\), и при этом траектория вычислений содержит число \(11\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория состоит из чисел \(17\), \(8\), \(7\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(31, 12)*f(12, 2))


Ответ: 171

2023-9

Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(1\), и при этом траектория вычислений содержит число \(10\)?
Траектория вычисления программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория состоит из чисел \(17\), \(8\), \(7\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n < target:
        return 0
    return f(n-1, target) + f(n // 2, target)

print(f(30, 10)*f(10, 1))


Ответ: 360

2023-8

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\).

Программа для исполнителя Увеличитель — это последовательность команд.
Сколько существует программ, которые число \(7\) преобразуют в число \(71\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n+10, target)

print(f(7, 71))


Ответ: 4085

2023-7

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\).

Программа для исполнителя Увеличитель — это последовательность команд.
Сколько существует программ, которые число \(5\) преобразуют в число \(71\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n+10, target)

print(f(5, 71))


Ответ: 5411

2023-6

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(7\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(7\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые число \(7\) преобразуют в число \(51\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n+7, target)

print(f(7, 51))


Ответ: 639

2023-5

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(7\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(7\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые число \(5\) преобразуют в число \(49\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    if n > target:
        return 0
    return f(n+2, target) + f(n+7, target)

print(f(5, 49))


Ответ: 639

ЕГЭ-2022. 1 вариант

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(2\)

Первая из них уменьшает число на экране на \(1\), вторая заменяет число на экране на целую часть от деления числа на \(2\).

Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе \(30\) результатом является число \(1\), и при этом траектория вычислений содержит число \(12\)?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы 122 при исходном числе \(10\) траектория состоит из чисел \(9\), \(4\), \(2\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n < target:
        return 0
    else:
        return f(n - 1, target) + f(n // 2, target)


print(f(30, 12) * f (12, 1))


Ответ: 376

Задание 23. Информатика Досрочный экзамен 2022

Исполнитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:

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

Решение:

Python


def F(n, target):
    if n > target:
        return 0
    elif n == target:
        return 1
    else:
        return F(n+2, target) + F(2*n, target)

print(F(1, 16) * F(16, 52))


Ответ: 105

2022-20

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(1\), вторая умножает его на \(3\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(1\) результатом является число \(40\) и при этом траектория вычислений программы содержит число \(12\) и не содержит числа \(35\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(4\) траектория будет состоять из чисел \(5\), \(15\), \(16\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 35 or n > target:
        return 0
    else:
        return f(n+1, target) + f(n*3, target)

print(f(1, 12)*f(12, 40))


Ответ: 14

2022-19

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(1\), вторая умножает его на \(3\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(2\) результатом является число \(33\) и при этом траектория вычислений программы содержит число \(10\) и не содержит числа \(29\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(4\) траектория будет состоять из чисел \(5\), \(15\), \(16\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 29 or n > target:
        return 0
    else:
        return f(n+1, target) + f(n*3, target)

print(f(2, 10)*f(10, 33))


Ответ: 6

2022-18

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(2\), вторая умножает его на \(2\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(2\) результатом является число \(44\) и при этом траектория вычислений программы содержит число \(18\) и не содержит числа \(34\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(12\), \(14\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 34 or n > target:
        return 0
    else:
        return f(n+2, target) + f(n*2, target)

print(f(2, 18)*f(18, 44))


Ответ: 30

2022-17

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(2\), вторая умножает его на \(2\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(2\) результатом является число \(44\) и при этом траектория вычислений программы содержит число \(20\) и не содержит числа \(38\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(12\), \(14\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 38 or n > target:
        return 0
    else:
        return f(n+2, target) + f(n*2, target)

print(f(2, 20)*f(20, 44))


Ответ: 28

2022-16

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(1\), вторая умножает его на \(2\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(2\) результатом является число \(26\) и при этом траектория вычислений программы содержит число \(10\) и не содержит числа \(19\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 19 or n > target:
        return 0
    else:
        return f(n+1, target) + f(n*2, target)

print(f(2, 10)*f(10, 26))


Ответ: 28

2022-15

Исполнитель Счётчик преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(1\), вторая умножает его на \(2\). Программа для исполнителя Счётчик — это последовательность команд. Сколько существует таких программ, для которых при исходном числе \(3\) результатом является число \(27\) и при этом траектория вычислений программы содержит число \(12\) и не содержит числа \(23\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(5\) траектория будет состоять из чисел \(6\), \(12\), \(13\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n == 23 or n > target:
        return 0
    else:
        return f(n+1, target) + f(n*2, target)

print(f(3, 12)*f(12, 27))


Ответ: 12

2022-14

Исполнитель М132 преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(3\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(1\), вторая увеличивает его на \(3\), третья умножает его на \(2\). Программа для исполнителя М132 — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(3\) в число \(14\) и при этом траектория вычислений программы содержит числа \(8\) и \(11\)?
Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(19\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+1, target) + f(n+3, target) + f(n*2, target)

print(f(3, 8)*f(8, 11)*f(11, 14))


Ответ: 24

2022-13

Исполнитель М132 преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(3\)
Умножить на \(2\)
Первая из них увеличивает число на экране на \(1\), вторая увеличивает его на \(3\), третья умножает его на \(2\). Программа для исполнителя М132 — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(2\) в число \(14\) и при этом траектория вычислений программы содержит числа \(6\) и \(9\)?
Траектория должна содержать оба указанных числа.
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(19\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+1, target) + f(n+3, target) + f(n*2, target)

print(f(2, 6)*f(6, 9)*f(9, 14))


Ответ: 40

2022-12

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(5\)
Прибавить \(4\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(5\), вторая увеличивает его на \(4\), третья умножает его на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(2\) в число \(30\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(1\) траектория будет состоять из чисел \(6\), \(18\), \(22\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+5, target) + f(n+4, target) + f(n*3, target)

print(f(2, 6)*f(6, 30))


Ответ: 16

2022-11

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(3\)
Прибавить \(4\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(3\), вторая увеличивает его на \(4\), третья умножает его на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(1\) в число \(30\) и при этом траектория вычислений программы содержит число \(7\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(2\) траектория будет состоять из чисел \(5\), \(15\), \(19\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+3, target) + f(n+4, target) + f(n*3, target)

print(f(1, 7)*f(7, 30))


Ответ: 58

2022-10

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(2\), вторая умножает его на \(2\), третья умножает его на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(2\) в число \(28\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(36\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n*2, target) + f(n*3, target)

print(f(2, 6)*f(6, 28))


Ответ: 30

2022-9

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(2\)
Умножить на \(2\)
Умножить на \(3\)
Первая из них увеличивает число на экране на \(2\), вторая умножает его на \(2\), третья умножает его на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(1\) в число \(24\) и при этом траектория вычислений программы содержит число \(6\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(132\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(36\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n*2, target) + f(n*3, target)

print(f(1, 6)*f(6, 24))


Ответ: 40

2022-8

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(3\)

Первая команда уменьшает число на экране на \(1\), вторая число на экране на число, равное целой части от деления числа на экране на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(37\) в число \(2\) и при этом траектория вычислений программы содержит число \(10\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория будет состоять из чисел \(17\), \(5\), \(4\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n < target:
        return 0
    else:
        return f(n-1, target) + f(n//3, target)

print(f(37, 10)*f(10, 2))


Ответ: 54

2022-7

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(3\)

Первая команда уменьшает число на экране на \(1\), вторая число на экране на число, равное целой части от деления числа на экране на \(3\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(33\) в число \(1\) и при этом траектория вычислений программы содержит число \(9\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория будет состоять из чисел \(17\), \(5\), \(4\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n < target:
        return 0
    else:
        return f(n-1, target) + f(n//3, target)

print(f(33, 9)*f(9, 1))


Ответ: 72

2022-6

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая число на экране на число, равное целой части от деления числа на экране на \(2\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(31\) в число \(2\) и при этом траектория вычислений программы содержит число \(12\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория будет состоять из чисел \(17\), \(8\), \(7\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n < target:
        return 0
    else:
        return f(n-1, target) + f(n//2, target)

print(f(31, 12)*f(12,2))


Ответ: 171

2022-5

Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть две команды, которым присвоены номера:

Вычти \(1\)
Найди целую часть от деления на \(2\)

Первая команда уменьшает число на экране на \(1\), вторая число на экране на число, равное целой части от деления числа на экране на \(2\). Программа для Вычислителя — это последовательность команд. Сколько существует таких программ, которые преобразуют исходное число \(30\) в число \(1\) и при этом траектория вычислений программы содержит число \(10\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \(121\) при исходном числе \(18\) траектория будет состоять из чисел \(17\), \(8\), \(7\).

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n < target:
        return 0
    else:
        return f(n-1, target) + f(n//2, target)

print(f(30, 10)*f(10,1))


Ответ: 360

2022-4

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(7\) преобразует в число \(121\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n+10, target)

print(f(7, 121))

Второй способ

Чтобы получить из \(7\) число \(121\), можно прибавить \(57\) раз двойку.

Можно один раз прибавить \(10\) и \(52\) раза прибавить \(2\). Всего таких программ будет \( C^{1}_{53} = 53\). И т.д.

Получаем формулу $$ C^{0}_{57} + C^{1}_{53} + C^{2}_{49} + \ldots + C^{11}_{13}$$

Python 3.8+


import math

s = 0
for i in range(12):
    s += math.comb(57 - i*4, i)

print(s)


Ответ: 4615966

2022-3

Исполнитель Увеличитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(2\)
Прибавить \(10\)

Первая команда увеличивает число на экране на \(2\), вторая увеличивает это число на \(10\). Программа для исполнителя Увеличитель — это последовательность команд. Сколько существует программ, которые число \(5\) преобразует в число \(141\)?

Решение:

Python


def f(n, target):
    if n == target:
        return 1
    elif n > target:
        return 0
    else:
        return f(n+2, target) + f(n+10, target)

print(f(5, 141))

Второй способ

Чтобы получить из \(5\) число \(141\), можно прибавить \(68\) раз двойку.

Можно один раз прибавить \(10\) и \(63\) раза прибавить \(2\). Всего таких программ будет \( C^{1}_{64} = 64\). И т.д.

Получаем формулу $$ C^{0}_{68} + C^{1}_{64} + C^{2}_{60} + \ldots + C^{13}_{16}$$

Python 3.8+


import math

s = 0
for i in range(14):
    s += math.comb(68 - i*4, i)

print(s)


Ответ: 101770120

Демо-2022

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(2\)

Программа для исполнителя — это последовательность команд.
Сколько существует программ, для которых при исходном числе \(1\) результатом является число \(20\), и при этом траектория вычислений содержит число \(10\)?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы \( 121 \) при исходном числе \(7\) траектория будет состоять из чисел \(8\), \(16\), \(17\).

Решение:

...
Ответ: 28

Статград-22-3-2

Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(2\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(2\), третья — умножает на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(9\), и при этом не содержат двух команд умножения подряд?

Решение:

...
Ответ: 77

Статград-22-3-1

Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(2\)
Умножить на \(2\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(2\), третья — умножает на \(2\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(11\), и при этом не содержат двух команд умножения подряд?

Решение:

...
Ответ: 213

Статград-22-2-2

Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(2\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(2\), третья — умножает на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(15\), и при этом траектория вычислений содержит число \(10\)?
Траектория вычисления — это последовательность результатов выполнения всех команд программы. Например, для программы \(231\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(19\).

Решение:

...
Ответ: 672

Статград-22-2-1

Исполнитель преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:

Прибавить \(1\)
Прибавить \(2\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(1\), вторая увеличивает его на \(2\), третья — умножает на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(1\) в число \(15\), и при этом траектория вычислений содержит число \(8\)?
Траектория вычисления — это последовательность результатов выполнения всех команд программы. Например, для программы \(231\) при исходном числе \(4\) траектория будет состоять из чисел \(6\), \(18\), \(19\).

Решение:

...
Ответ: 651

Статград-22-1-2

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(2\) в число \(87\), и при этом траектория вычислений содержит число \(26\)?
Траектория вычисления — это последовательность результатов выполнения всех команд программы. Например, для программы \(212\) при исходном числе \(4\) траектория будет состоять из чисел \(12\), \(13\), \(39\).

Решение:

...
Ответ: 55

Статград-22-1-1

Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:

Прибавить \(1\)
Умножить на \(3\)

Первая команда увеличивает число на экране на \(1\), вторая умножает его на \(3\).

Программа для исполнителя — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число \(2\) в число \(90\), и при этом траектория вычислений содержит число \(28\)?
Траектория вычисления — это последовательность результатов выполнения всех команд программы. Например, для программы \(212\) при исходном числе \(4\) траектория будет состоять из чисел \(12\), \(13\), \(39\).

Решение:

...
Ответ: 56