Задание №5 — Алгоритмы и программирование
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. вычти 5
Первая из них возводит число на экране во вторую степень, вторая вычитает из числа 5.
Составьте алгоритм полученияиз числа 1 числа 36, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 21211 – это алгоритм:
вычти 5
возведи в квадрат
вычти 5
возведи в квадрат
возведи в квадрат,
который преобразует число 2 в 256).
Если таких алгоритмов более одного, то запишите любой из них.
Правильный ответ
21221
Пояснение
Решение. Для решения этой задачи нам нужно найти последовательность из не более чем 5 команд, которая превратит число в число . У нас есть две команды: 1 (возведение в квадрат) и 2 (вычитание 5).
Попробуем рассуждать методом «от обратного» — это часто быстрее. Будем идти от конечного числа к начальному числу . При этом команды будут обратными: вместо «возведи в квадрат» — «извлеки корень», вместо «вычти 5» — «прибавь 5».
Шаг 1. Последнее число — . Как мы могли его получить?
Вариант А: Извлечь корень. . (Это соответствует команде 1 в прямом порядке).
Вариант Б: Прибавить 5. . (Это соответствует команде 2 в прямом порядке).
Шаг 2. Рассмотрим вариант А (число ). Как получить ?
Вариант А1: Извлечь корень. — не целое число, этот путь нам не подходит.
Вариант А2: Прибавить 5. . (Команда 2).
Шаг 3. Рассмотрим число .
Вариант А2.1: Извлечь корень. — не целое число.
Вариант А2.2: Прибавить 5. . (Команда 2).
Шаг 4. Рассмотрим число .
Вариант А2.2.1: Извлечь корень. . (Команда 1).
Вариант А2.2.2: Прибавить 5. .
Шаг 5. Рассмотрим число .
Вариант А2.2.1.1: Извлечь корень. .
Вариант А2.2.1.2: Прибавить 5. .
Стоп, нам нужно прийти к числу . Давайте проверим путь через число , который мы начали:
Если мы возьмём число и прибавим к нему три раза, мы получим , что далеко от . Попробуем другой путь.
Давайте проверим прямым ходом последовательность 21221, указанную в условии как правильную:
1. Начальное число: .
2. Команда 2 (вычти 5): .
3. Команда 1 (возведи в квадрат): .
4. Команда 2 (вычти 5): .
5. Команда 2 (вычти 5): .
6. Команда 1 (возведи в квадрат): .
Проверка:
.
Алгоритм состоит из 5 команд, что соответствует условию задачи.
Ответ: 21221
Источник: ФИПИ