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