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