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