Задание №5 — Алгоритмы и программирование
У исполнителя Утроитель две команды, которым присвоены номера:
1. вычти 1
2. умножь на 3
Первая из них уменьшает число на экране на 1, вторая утраивает его.
Составьте алгоритм получения из числа 6 числа 10, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 21211 это алгоритм:
умножь на 3
вычти 1
умножь на 3
вычти 1
вычти 1,
который преобразует число 2 в 13.)
Если таких алгоритмов более одного, то запишите любой из них.
Правильный ответ
11211
Пояснение
Решение.
Нам необходимо из исходного числа получить число , используя не более 5 команд. Доступные команды: 1 (вычти 1) и 2 (умножь на 3).
Попробуем действовать методом подбора, анализируя возможные шаги. Поскольку нам нужно получить небольшое число (), а команда умножения быстро увеличивает значения, логично применить умножение в начале или середине пути, а затем скорректировать результат вычитанием.
Рассмотрим последовательность действий:
1. Начнём с числа . Применим команду №1 (вычти 1):
. (Команда 1)
2. К полученному числу применим команду №1 (вычти 1) ещё раз:
. (Команда 1)
3. Теперь у нас есть число . Применим команду №2 (умножь на 3):
. (Команда 2)
4. Мы получили число , которое близко к цели. Применим команду №1 (вычти 1):
. (Команда 1)
5. Применим команду №1 (вычти 1) последний раз:
. (Команда 1)
Проверим количество команд: мы использовали 5 команд (1, 1, 2, 1, 1). Это соответствует условию "не более 5 команд".
Проверим цепочку вычислений ещё раз:
.
Результат верный.
Запишем номера команд по порядку: 11211.
Ответ: 11211
Источник: ФИПИ