Исполнитель Калькулятор - умножь на три и вычти два
Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1) умножь на 3
2) вычти 2
Выполняя команду номер 1, КАЛЬКУЛЯТОР умножает число на экране на 3, а выполняя команду номер 2, вычитает из числа на экране 2.
Напишите программу, содержащую не более 5 команд, которая из числа 1 получает число 23. Укажите лишь номера команд.
Нам нужно из числа 1 получить число 23, используя не более 5 команд. Команды: 1. Умножить на 3 2. Вычесть 2 Давайте попробуем идти от конца к началу (обратным ходом), чтобы понять, какие операции могли привести к 23. Если последняя операция была "вычти 2", то до неё было \(23 + 2 = 25\). Если последняя операция была "умножь на 3", то до неё было \(23 / 3\), что не является целым числом, поэтому эта операция не могла быть последней, если мы работаем с целыми числами. Итак, будем пробовать различные комбинации, стараясь не превысить 5 команд. Начнем с числа 1. Попытка 1: 1. Начнем с умножения, чтобы число росло быстрее. * \(1 \xrightarrow{\text{ком. 1}} 1 \cdot 3 = 3\) 2. Продолжим умножением. * \(3 \xrightarrow{\text{ком. 1}} 3 \cdot 3 = 9\) 3. Еще раз умножим. * \(9 \xrightarrow{\text{ком. 1}} 9 \cdot 3 = 27\) Теперь у нас 27. Нам нужно получить 23. Разница \(27 - 23 = 4\). Мы можем получить 4, вычитая 2 два раза. 4. Вычтем 2. * \(27 \xrightarrow{\text{ком. 2}} 27 - 2 = 25\) 5. Вычтем 2. * \(25 \xrightarrow{\text{ком. 2}} 25 - 2 = 23\) Мы получили число 23 за 5 команд. Это удовлетворяет условию "не более 5 команд". Программа: 1, 1, 1, 2, 2. Давайте проверим другие варианты, чтобы убедиться, что это оптимальный или один из возможных. Попытка 2 (обратный ход): Цель: 23. Последняя команда должна быть "вычти 2", так как 23 не делится на 3 без остатка. Значит, перед последней командой было \(23 + 2 = 25\). Теперь нам нужно получить 25. Если перед 25 была "вычти 2", то было \(25 + 2 = 27\). Если перед 25 была "умножь на 3", то было \(25 / 3\), что не целое. Значит, перед 25 была "вычти 2". Итак, перед 25 было 27. Теперь нам нужно получить 27. Если перед 27 была "вычти 2", то было \(27 + 2 = 29\). Если перед 27 была "умножь на 3", то было \(27 / 3 = 9\). Это целое число! Значит, перед 27 было 9, и мы выполнили команду "умножь на 3". Теперь нам нужно получить 9. Если перед 9 была "вычти 2", то было \(9 + 2 = 11\). Если перед 9 была "умножь на 3", то было \(9 / 3 = 3\). Это целое число! Значит, перед 9 было 3, и мы выполнили команду "умножь на 3". Теперь нам нужно получить 3. Если перед 3 была "вычти 2", то было \(3 + 2 = 5\). Если перед 3 была "умножь на 3", то было \(3 / 3 = 1\). Это наше начальное число! Значит, перед 3 было 1, и мы выполнили команду "умножь на 3". Собираем команды в обратном порядке: 1. Из 1 получили 3 (ком. 1) 2. Из 3 получили 9 (ком. 1) 3. Из 9 получили 27 (ком. 1) 4. Из 27 получили 25 (ком. 2) 5. Из 25 получили 23 (ком. 2) Последовательность команд: 1, 1, 1, 2, 2. Это та же самая последовательность, что и в первой попытке. Она содержит 5 команд, что удовлетворяет условию. Вот как это можно записать в тетрадь:Информатика. Исполнитель Калькулятор.
Задача: Из числа 1 получить число 23, используя не более 5 команд.
Доступные команды:
1) умножь на 3
2) вычти 2
Решение (прямой ход):
Попробуем последовательно применять команды, чтобы приблизиться к 23.
Начинаем с числа 1.
- Применим команду 1 (умножить на 3): \(1 \cdot 3 = 3\).
- Применим команду 1 (умножить на 3): \(3 \cdot 3 = 9\).
- Применим команду 1 (умножить на 3): \(9 \cdot 3 = 27\).
- Применим команду 2 (вычесть 2): \(27 - 2 = 25\).
- Применим команду 2 (вычесть 2): \(25 - 2 = 23\).
Теперь у нас 27. Нам нужно получить 23. Разница \(27 - 23 = 4\). Мы можем получить 23, вычитая 2 два раза.
Мы получили число 23 за 5 команд. Это удовлетворяет условию (не более 5 команд).
Программа (последовательность номеров команд):
1, 1, 1, 2, 2
Проверка (обратный ход):
Цель: 23. Начальное число: 1.
- Чтобы получить 23, последняя команда должна быть "вычти 2", так как 23 не делится на 3 без остатка. Значит, до этого было \(23 + 2 = 25\).
- Чтобы получить 25, последняя команда должна быть "вычти 2", так как 25 не делится на 3 без остатка. Значит, до этого было \(25 + 2 = 27\).
- Чтобы получить 27, последняя команда могла быть "умножь на 3" (так как \(27 / 3 = 9\)). Значит, до этого было 9.
- Чтобы получить 9, последняя команда могла быть "умножь на 3" (так как \(9 / 3 = 3\)). Значит, до этого было 3.
- Чтобы получить 3, последняя команда могла быть "умножь на 3" (так как \(3 / 3 = 1\)). Значит, до этого было 1 (наше начальное число).
Восстанавливаем последовательность команд от начала к концу:
1 (из 1 в 3), 1 (из 3 в 9), 1 (из 9 в 27), 2 (из 27 в 25), 2 (из 25 в 23).
Получаем ту же последовательность: 1, 1, 1, 2, 2.
Ответ: 11122
