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