Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. Прибавь 5
2. Умножь на 3
Выполняя команду номер 1, КАЛЬКУЛЯТОР прибавляет к числу на экране 5, а выполняя
команду номер 2, умножает число на экране на 3. Напишите программу, содержащую не
более 5 команд, которая из числа 3 получает число 59.
Умножение на число обратимо не для любого числа, поэтому, если мы пойдём от числа 59 к числу 3, тогда однозначно восстановим программу с минимальным числом команд. Полученные команды будут записываться справа налево.
Если число кратно множителю 3, то делим на него. Если не кратно, то выполняем вычитание.
Следим за тем, чтобы число пришло к начальному.
1. 59 не кратно 3, следовательно, 59 - 5 = 54; 1.
2. 54 кратно 3, следовательно, 54/3 = 18; 2.
3. 18 кратно 3, но 18/3 = 6, что приведет в тупик, следовательно, 18 - 5 = 13; 1.
4. 13 не кратно 3, следовательно, 13 - 5 = 8; 1.
5. 8 не кратно 3, следовательно, 8 - 5 = 3; 1.
Правильный ответ: 11121.

