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