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