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