Задание №5 — Алгоритмы и программирование
У исполнителя Утроитель две команды, которым присвоены номера:
1. вычти 2
2. умножь на 3
Первая из них уменьшает число на экране на 2, вторая утраивает его.
Составьте алгоритм получения из числа 11 числа 13, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 21211 это алгоритм:
умножь на 3
вычти 2
умножь на 3
вычти 2
вычти 2,
который преобразует число 2 в 8.)
Если таких алгоритмов более одного, то запишите любой из них.
Правильный ответ
11121
Пояснение
Решение.
Нам необходимо составить алгоритм для исполнителя «Утроитель», который преобразует число в число за ограниченное количество шагов (не более 5 команд). У исполнителя есть две команды:
1. вычти 2 (действие: )
2. умножь на 3 (действие: )
Попробуем действовать методом подбора, анализируя возможные шаги от начального числа . Поскольку конечное число не сильно отличается от , но в процессе может потребоваться умножение, рассмотрим цепочку команд.
Шаг 1. Применим первую команду (вычти 2):
. (Команда 1)
Шаг 2. Применим первую команду еще раз:
. (Команда 1)
Шаг 3. Применим первую команду в третий раз:
. (Команда 1)
Шаг 4. Теперь у нас есть число . Применим вторую команду (умножь на 3):
. (Команда 2)
Шаг 5. Из числа нам нужно получить . Применим первую команду:
. (Команда 1)
Проверим полученную последовательность команд: 1, 1, 1, 2, 1.
Выполним вычисления по порядку:
1)
2)
3)
4)
5)
Алгоритм состоит из 5 команд, что соответствует условию задачи. Число получено успешно.
Ответ: 11121
Источник: ФИПИ