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