Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. умножь на 2
2. прибавь 1
Выполняя команду номер 1, КАЛЬКУЛЯТОР умножает число на экране на 2, а выполняя
команду номер 2, прибавляет к числу на экране 1. Напишите программу, содержащую не
более 5 команд, которая из числа 6 получает число 33. Укажите лишь номера команд.
Например, программа 12122 -это программа:
умножь на 2
прибавь 1
умножь на 2
прибавь 1
прибавь 1,
которая преобразует число 5 в число 24.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 33 к числу 6, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.
1) Число 33 не делится на 2, значит, оно получено прибавлением единицы к числу 32: 33 = 32 + 1 (команда 2).
2) Т. к. мы хотим получить не более 5 команд, то для получения числа 32 выгодно использовать умножение:
32 = 16 * 2 (команда 1).
Для числа 16 применяем второе рассуждение: 16 = 8 * 2 (команда 1).
Для числа 8 мы не можем повторить рассуждение 2), потому что проскочим нужное нам число 6. Следовательно, 8 = 7 + 1 (команда 2) и 7 = 6 + 1 (команда 2).
Тогда окончатльно получаем ответ: 22112

