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