Задание №5 — Алгоритмы и программирование
У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на 3
2. прибавь 2
Первая из них увеличивает число на экране в 3 раза, вторая увеличивает его на 2.
Составьте алгоритм получения из числа 3 числа 69, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 11221 это алгоритм:
умножь на 3
умножь на 3
прибавь 2
прибавь 2
умножь на 3,
который преобразует число 1 в 39.)
Если таких алгоритмов более одного, то запишите любой из них.
Правильный ответ
22121
Пояснение
Решение.
Нам необходимо составить алгоритм получения из числа числа за шагов, используя команды: 1 (умножить на ) и 2 (прибавить ).
Для решения таких задач удобнее идти с конца — от итогового числа к исходному числу . При этом действия заменяются на обратные: вместо умножения на мы будем делить на , а вместо прибавления — вычитать .
Шаг 1. Число делится на . Попробуем применить обратную команду 1 (деление):
. (Использована команда 1 с конца).
Шаг 2. Число не делится на . Значит, на предыдущем этапе к какому-то числу прибавили . Применим обратную команду 2 (вычитание):
. (Использована команда 2 с конца).
Шаг 3. Число делится на . Применим обратную команду 1 (деление):
. (Использована команда 1 с конца).
Шаг 4. Число не делится на . Применим обратную команду 2 (вычитание):
. (Использована команда 2 с конца).
Шаг 5. Число не делится на . Применим обратную команду 2 (вычитание):
. (Использована команда 2 с конца).
Мы пришли к исходному числу ровно за шагов. Теперь запишем команды в прямом порядке (от шага 5 к шагу 1):
1. Прибавить (команда 2):
2. Прибавить (команда 2):
3. Умножить на (команда 1):
4. Прибавить (команда 2):
5. Умножить на (команда 1):
Последовательность команд: 22121.
Ответ: 22121
Источник: ФИПИ