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