Некий крабоед-исполнитель умеет делать всего две команды, которым присвоены номера:
1. вычти 1
2. умножь на три
Первая из них уменьшает число на экране на 1, вторая — утраивает его. Запишите порядок команд в программе получения из 5 числа 7, содержащей не более 5 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
Например, 21211 — это программа:
умножь на три
вычти 1
умножь на три
вычти 1
вычти 1,
которая преобразует число 2 в 13.
В решении этой задачи удобнее приводить конечное число к начальному с помощью противоположных команд. То есть в нашем случае мы пойдем от числа 7 к числу 5 с помощью команд “прибавь 1” и “раздели на 3”.
Так как 7 не кратно трём, добавим к числу два раза единицу, получим 9 и поделим его на 3. Получаем 3 и два раза добавляем по единице. Получили последовательность команд:
Поскольку мы решали задачу “от противного”, записываем команды в обратном порядке и получаем ответ.
Примечение. В данной задаче программа вышла симметричной, поэтому порядок записи не имеет значения, но в аналогичных задачах необходимо записывать команды в обратном порядке, так как мы решаем задачу “от противного”.