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