Задача #2124

Количество программ

Уровень ЕГЭ

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

1. Прибавить d

2. Умножить на 2

Первая команда увеличивает число на экране на d(d - натуральное число), вторая умножает его на 2. Программа для исполнителя – это последовательность команд.

Посчитали количество различных программ, для которых при исходном числе 1 результатом является число 100, и при этом траектория вычислений содержит число 10.
Укажите число d, при котором количество таких программ будет равно 13.

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 и d = 1 траектория будет состоять из чисел 8, 16, 17.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

6
def f(a, b, d):
if a > b: return 0
if a == b: return 1
if a < b: return f(a + d, b, d) + f(a * 2, b, d)


for i in range(1, 10):
if f(1, 10, i) * f(10, 100, i) == 13:
print(i)
break
Быстрый переход
Перейти к задаче