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