Контрольные задания > Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
3. Прибавить 3
Первая из них увеличивает число на экране на 2, вторая умножает его на 2, третья увеличивает его на 3.
Программа для Вычислителя- это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число 2 в число 21 и
при этом траектория вычислений программы содержит число 10?
Траектория вычислений программы это последовательность результатов выполнения всех
команд программы. Например, для программы 123 при исходном числе 7 траектория будет
состоять из чисел 9, 18, 21.
Вопрос:
Исполнитель Вычислитель преобразует число, записанное на экране.
У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
3. Прибавить 3
Первая из них увеличивает число на экране на 2, вторая умножает его на 2, третья увеличивает его на 3.
Программа для Вычислителя- это последовательность команд.
Сколько существует таких программ, которые преобразуют исходное число 2 в число 21 и
при этом траектория вычислений программы содержит число 10?
Траектория вычислений программы это последовательность результатов выполнения всех
команд программы. Например, для программы 123 при исходном числе 7 траектория будет
состоять из чисел 9, 18, 21.
Для решения этой задачи, мы должны найти все возможные последовательности команд, которые преобразуют число 2 в число 21, проходя через число 10.
Разделим задачу на две части:
1. Преобразование числа 2 в число 10.
2. Преобразование числа 10 в число 21.
Часть 1: 2 -> 10
Начнем с числа 2 и попробуем получить 10, используя команды 1, 2 и 3:
* Команда 1: 2 + 2 = 4
* Команда 2: 2 * 2 = 4
* Команда 3: 2 + 3 = 5
Теперь попробуем получить 10 из этих чисел:
* Из 4:
* Команда 1: 4 + 2 = 6
* Команда 2: 4 * 2 = 8
* Команда 3: 4 + 3 = 7
* Из 5:
* Команда 1: 5 + 2 = 7
* Команда 2: 5 * 2 = 10 (Нашли!)
* Команда 3: 5 + 3 = 8
Итак, чтобы получить 10 из 2, мы можем использовать последовательность команд 2 (умножить на 2), затем 2 (умножить на 2): 2 -> 4 -> 8 -> 10
Часть 2: 10 -> 21
Теперь нужно получить 21 из 10.
* Команда 1: 10 + 2 = 12
* Команда 2: 10 * 2 = 20
* Команда 3: 10 + 3 = 13
Попробуем получить 21 из этих чисел:
* Из 12:
* Команда 1: 12 + 2 = 14
* Команда 2: 12 * 2 = 24 (слишком много)
* Команда 3: 12 + 3 = 15
* Из 20:
* Команда 1: 20 + 2 = 22 (слишком много)
* Команда 3: 20 + 3 = 23 (слишком много)
* Из 13:
* Команда 1: 13 + 2 = 15
* Команда 2: 13 * 2 = 26 (слишком много)
* Команда 3: 13 + 3 = 16
Продолжаем:
* Из 15:
* Команда 1: 15 + 2 = 17
* Команда 2: 15 * 2 = 30 (слишком много)
* Команда 3: 15 + 3 = 18
* Из 18:
* Команда 1: 18 + 2 = 20
* Команда 2: 18 * 2 = 36 (слишком много)
* Команда 3: 18 + 3 = 21 (Нашли!)
Таким образом, чтобы получить 21 из 10, мы можем использовать последовательность команд 3: 10 -> 13 -> 16 -> 18 -> 21
Теперь нужно соединить эти две части. Но у нас есть тупик в первой части. Давайте поищем другой путь из 2 в 10:
* 2 + 3 = 5
* 5 + 3 = 8
* 8 + 2 = 10
Итого, команды 3, 3, 1.
А теперь 10 превращаем в 21:
* 10 + 3 = 13
* 13 + 3 = 16
* 16 + 2 = 18
* 18 + 3 = 21
Итого, команды 3, 3, 1, 3.
Соединяем обе части вместе, у нас получается:
3, 3, 1, 3, 3, 1, 3
Другой путь:
2, 2, потом: 10 + 2 = 12 + 3 = 15 + 3 = 18 + 3 = 21. Команды 2, 1, 3, 3, 3.
У нас 2 пути, но условию задачи про траекторию через 10, подходят следующие варианты:
3313313 и 221333.
Ответ: 2