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