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