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