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