Задания на преобразование числа из разных источников.
Задание 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