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