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