У исполнителя Удвоитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 2.
Первая из них увеличивает число на экране на 1, вторая удваивает его. Например, 2122 — это программа
умножь на 2
прибавь 1
умножь на 2
умножь на 2,
которая преобразует число 1 в число 12.
Запишите порядок команд в программе преобразования числа 4 в число 57, содержащей не более 7 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 57 к числу 4, то однозначно восстановим программу. Полученные команды будут записываться справа налево. Если число некратно 2, то отнимаем 1, а если кратно, то делим на 2:
57 − 1 = 56 (команда 1);
56/2 = 28 (команда 2);
28 / 2 = 14 (команда 2);
14 / 2 = 7 (команда 2);
7 − 1 = 6 (команда 1);
6 − 1 = 5 (команда 1);
5 − 1 =4 (команда 1).
Запишем последовательность команд в обратном порядке и получим ответ: 1112221.

