У исполнителя Увеличитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 3.
Первая из них увеличивает число на экране на 1, вторая – умножает его на 3.
Программа для Увеличителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 75 и при этом траектория вычислений содержит число 24?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 5 траектория будет состоять из чисел 6, 18, 19.
Ответы на вопрос
Ответ:
Программ для Увеличителя при исходном числе 1 с результатом 75 при том, что траектория вычислений содержит число 24, равно 36.
Объяснение:
Траектория вычислений содержит число 24, разобьем программу для Увеличителя на две подпрограммы: первая для получения 24 из 1 и вторая для получения результата 75 из 24.
Первая подпрограмма не может содержать команд №2 более двух, потому что 1*3*3*3 = 27 - уже перебор.
1) Первая и самая простая программа - это 23 раза выполнить команду №1, т.е.:
1+1+1+...+1=24 - один вариант программы
2) Если будем использовать команду №2 один раз, то общий вид будет выглядеть так:
(1+1*n)*3+(+1)*m
n не может быть больше 7, т.е. n=[0..7] - 8 вариантов программы
3) Если будем использовать команду №2 два раза подряд, то общий вид будет выглядеть так:
(1+1*n)*9+(+1)*m
n не может быть больше 1, т.е. n=[0..1] - 2 варианта программы
4) Если будем использовать команду №2 два раза но не подряд, то общий вид будет выглядеть так:
((1+1*n)*3+(+1)*m)*3+(+1)*k
m > 0, иначе мы выходим в вариант 3), где умножение было два раза подряд.
Выражение (1+1*n)*3+(+1)*m не может быть больше 8, а значит n не может быть больше 1, т.е. n=[0..1]
при n=0 m может принимать значения m=[1..5] - 5 вариантов программы
при n=1 m может принимать значения m=[1..2] - 2 варианта программы
Итого для первой подпрограммы количество вариантов:
1+8+2+5+2 = 18 вариантов
Вторая подпрограмма имеет 2 варианта:
1) команда №1 + команда №2:
(24+1)*3 = 75
2) команда №2 + три команды №1:
24*3+1+1+1 = 75
В итоге получается, что программ для Увеличителя при исходном числе 1 с результатом 75 при том, что траектория вычислений содержит число 24, равно:
18*2 = 36 вариантов
#SPJ1