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