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