Задание №5 — Алгоритмы и программирование
У исполнителя Вычислитель две команды, которым присвоены номера:
1. вычти 3
2. умножь на 3
Первая из них уменьшает число на экране на 3, вторая умножает его на 3.
Составьте алгоритм получения из числа 7 числа 177, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 22211 это алгоритм:
умножь на 3
умножь на 3
умножь на 3
вычти 3
вычти 3,
который преобразует число 1 в 21.)
Если таких алгоритмов более одного, то запишите любой из них.
Правильный ответ
22121
Пояснение
Решение.
Нам необходимо составить алгоритм получения из числа числа , используя не более 5 команд. Доступны команды: 1 (вычти 3) и 2 (умножь на 3).
Для решения таких задач удобнее идти от обратного: от конечного числа к начальному числу . При этом команды заменяются на противоположные:
1. Вместо "вычти 3" будем выполнять "прибавь 3".
2. Вместо "умножь на 3" будем выполнять "раздели на 3".
Шаг 1. Попробуем применить обратную команду 2 к числу . Число делится на (сумма цифр , а делится на ).
. (Это была обратная команда 2).
Шаг 2. Теперь работаем с числом . Оно не делится на . Значит, мы можем применить только обратную команду 1 (прибавь 3).
. (Это была обратная команда 1).
Шаг 3. Число не делится на . Снова применяем обратную команду 1.
. (Это была обратная команда 1).
Видим, что мы отдаляемся от цели. Попробуем другой путь на Шаге 2. Если мы прибавим несколько раз, сможем ли мы получить число, делящееся на ?
Вернемся к числу :
(не делится на 3)
(не делится на 3)
Этот путь кажется длинным. Давайте пересмотрим Шаг 1.
Попробуем еще раз с конца:
1) (команда 2 в обратном порядке)
2) (команда 1 в обратном порядке)
3)
Этот путь не ведет к за нужное количество шагов. Попробуем применить команду 1 к числу сразу? Нет, число слишком большое.
Рассмотрим прямой ход (от 7 к 177):
1) (команда 2)
2) (команда 2)
3) (команда 1)
4) (команда 2)
5) (команда 1)
Проверим количество команд: — всего 5 команд.
Проверка алгоритма 22121:
1.
2.
3.
4.
5.
Алгоритм верный и содержит ровно 5 команд.
Ответ: 22121
Источник: ФИПИ