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