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