Напишите в питоне пожалуйста,дам 100 баллов
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1
результатом является число 20, и при этом траектория вычислений содержит
число 10?
Траектория вычислений программы – это последовательность результатов
выполнения всех команд программы. Например, для программы 121 при
исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Answers & Comments
d = [0] * 21
d[1] = 1
for i in range(2, 11):
d[i] = d[i-1]
if i % 2 == 0:
d[i] += d[i // 2]
for i in range(11, 21):
d[i] = d[i-1]
if i % 2 == 0 and i // 2 >= 10:
d[i] += d[i // 2]
print(d[20])
Ответ: 28