Задание №5 — Алгоритмы и программирование
У исполнителя Вычислитель две команды, которым присвоены номера:
1. вычти 4
2. умножь на 5
Первая из них уменьшает число на экране на 4, вторая увеличивает его
в 5 раз. Составьте алгоритм получения из числа 3 числа 31, содержащий
не более пяти команд. В ответе запишите только номера команд.
(Например, 21211 – это алгоритм:
умножь на пять
вычти четыре
умножь на пять
вычти четыре
вычти четыре,
который преобразует число 3 в число 47.)
Если таких алгоритмов более одного, то запишите любой из них
Правильный ответ
21121
Пояснение
Решение.
Нам необходимо составить алгоритм для исполнителя «Вычислитель», который преобразует число в число , используя не более 5 команд. Доступны две команды:
1. вычти 4 (действие: )
2. умножь на 5 (действие: )
Для решения таких задач удобно идти от обратного: от конечного числа к начальному числу . При этом команды заменяются на противоположные:
1. Вместо «вычти 4» будем выполнять «прибавь 4».
2. Вместо «умножь на 5» будем выполнять «раздели на 5» (это возможно только если число делится на 5 без остатка).
Шаг 1. Начнём с числа . Оно не делится на , поэтому мы можем только прибавить :
. (Это обратная команда 1).
Шаг 2. Число делится на . Попробуем выполнить деление:
. (Это обратная команда 2).
Шаг 3. Число не делится на , прибавляем :
. (Это обратная команда 1).
Шаг 4. Число не делится на , прибавляем :
. (Это обратная команда 1).
Шаг 5. Число делится на . Проверим деление:
. (Это обратная команда 2).
Мы получили исходное число . Путь назад занял ровно 5 шагов.
Теперь запишем последовательность команд в прямом порядке (от к ), заменяя обратные действия на исходные команды:
Шаг 5 назад был «раздели на 5» → значит, первый шаг вперёд: умножь на 5 (команда 2).
Шаг 4 назад был «прибавь 4» → второй шаг вперёд: вычти 4 (команда 1).
Шаг 3 назад был «прибавь 4» → третий шаг вперёд: вычти 4 (команда 1).
Шаг 2 назад был «раздели на 5» → четвёртый шаг вперёд: умножь на 5 (команда 2).
Шаг 1 назад был «прибавь 4» → пятый шаг вперёд: вычти 4 (команда 1).
Проверка:
1) (команда 2)
2) (команда 1)
3) (команда 1)
4) (команда 2)
5) (команда 1)
Алгоритм: 21121.
Ответ: 21121
Источник: ФИПИ