Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. умножь на 3
2. вычти 2
Выполняя команду номер 1, КАЛЬКУЛЯТОР умножает число на экране на 3, а выполняя
команду номер 2, вычитает из числа на экране 2. Напишите программу, содержащую не
более 5 команд, которая из числа 1 получает число 23. Укажите лишь номера команд.
Например, программа 11221 – это программа:
умножь на 3
умножь на 3
вычти 2
вычти 2
умножь на 3,
которая преобразует число 1 в число 15.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 16 к числу 3, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.
1) Число 23 не делится на 3, значит, оно получено вычитанием двойки из числа 25: 23 = 25 - 2 (команда 2).
Повторим рассуждение для числа 25: 25 = 27 - 2 (команда 2).
2) Т. к. мы хотим получить не более 5 команд, то для получения числа 27 нужно использовать умножение: 27 = 9 * 3 (команда 1).
Повторим рассуждения 2) для числа 9: 9 = 3 * 3 (команда 1) и для числа 3: 3 = 1 * 3 (команда 1).
Тогда окончательно получаем ответ: 11122.

