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