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