У исполнителя Вычислитель две команды, которым присвоены номера:
1. прибавь 3
2. умножь на 3
Первая из них увеличивает число на экране на 3, вторая утраивает его.
Составьте алгоритм получения из числа 1 числа 48, содержащий не более пяти команд. В ответе запишите только номера команд.
(Например, 21211 – это алгоритм:
умножь на 3
прибавь 3
умножь на 3
прибавь 3
прибавь 3,
который преобразует число 2 в число 33.)
Если таких алгоритмов более одного, то запишите любой из них.
РЕШЕНИЕ
Будем идти от числа 48 к числу 1 применяя противоположные команды, так мы будем видеть когда промежуточный результат можно без остатка поделить на 3.
Тогда мы имеем команды:
1. Вычти 3
2. Раздели на 3
1) 48 можно без остатка поделить на 3, но тогда получится число 16, из которого никаким образом за 4 команды нельзя будет получить число 1, поэтому вычитаем:
48 - 3 = 45
Команда 1
2) 45 можно без остатка поделить на 3:
45 / 3 = 15
Команда 2
3) 15 можно без остатка поделить на 3, но тогда получится число 5, из которого никаким образом за 2 команды нельзя будет получить число 1, поэтому вычитаем:
15 - 3 = 12
Команда 1
4) 12 можно без остатка поделить на 3:
12 / 3 = 4
Команда 2
5) 4 - 3 = 1 - искомый результат
Команда 1
Переписываем номера команд снизу вверх , так как шли в обратном порядке - 12121 (не больше 5 команд, как и необходимо по условию)
ОТВЕТ 12121