Исполнитель преобразует число на экране.
У исполнителя есть три команды, которые обозначены латинскими буквами.
A. Прибавь 1
B. Умножь на 2
C. Умножь на 3
Программа для исполнителя – это последовательность команд.
Сколько существует программ, которые преобразуют число 6 в число 48, и при этом траектория вычислений содержит 14 или 18? Траектория должна содержать хотя бы одно из указанных чисел.
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы ACB при исходном числе 3 траектория состоит из чисел 4, 12, 24.
Ответ:
СтатГрад Вариант ИН2510101 23 октября 2025 – задание №23
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 |
def f(x, y): if x > y: return 0 if x == y: return 1 if x < y: return f(x+1, y) + f(x*2, y) + f(x*3, y) 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) |
ИЛИ
|
1 2 3 4 5 6 7 8 9 |
def f(n, e, count=0): if n == e and count >= 1: return 1 if n in [14, 18]: count += 1 if n > e: return 0 return f(n + 1, e, count) + f(n * 2, e, count) + f(n * 3, e, count) print(f(6, 48)) |
Ответ: 69
