Вопрос:

Задание 1: У исполнителя Вычислитель две команды, которым присвоены номера: 1 – умножь на 3; 2 – вычти 3. Первая из них увеличивает число в 3 раза, вторая уменьшает его на 2. Составьте алгоритм получения из числа 5 числа 60, содержащий не более пяти команд. В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.

Ответ:

Решение: 1. Начальное число: 5 2. Цель: 60 Пробуем различные комбинации команд, чтобы получить 60, используя не более 5 команд. Попробуем последовательность 11112: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 * 3 = 405 - 405 - 3 = 402 (не подходит) Попробуем последовательность 11122: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 - 3 = 132 - 132 - 3 = 129 (не подходит) Попробуем последовательность 11211: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 * 3 = 126 - 126 * 3 = 378 (не подходит) Попробуем последовательность 11212: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 * 3 = 126 - 126 - 3 = 123 (не подходит) Попробуем последовательность 12111: - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 - 36 * 3 = 108 - 108 * 3 = 324 (не подходит) Попробуем последовательность 12121: - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 - 36 - 3 = 33 - 33 * 3 = 99 (не подходит) Попробуем последовательность 11221: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 - 3 = 39 - 39 * 3 = 117 (не подходит) Попробуем последовательность 12211: - 5 * 3 = 15 - 15 - 3 = 12 - 12 - 3 = 9 - 9 * 3 = 27 - 27 * 3 = 81 (не подходит) Попробуем последовательность 11122: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 - 3 = 132 - 132 - 3 = 129 (не подходит) Попробуем последовательность 12112: - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 - 36 * 3 = 108 - 108 - 3 = 105 (не подходит) Попробуем последовательность 12212: - 5 * 3 = 15 - 15 - 3 = 12 - 12 - 3 = 9 - 9 * 3 = 27 - 27 - 3 = 24 (не подходит) Попробуем последовательность 11222: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 - 3 = 39 - 39 - 3 = 36 (не подходит) Попробуем последовательность 12221: - 5 * 3 = 15 - 15 - 3 = 12 - 12 - 3 = 9 - 9 - 3 = 6 - 6 * 3 = 18 (не подходит) Попробуем последовательность 12222: - 5 * 3 = 15 - 15 - 3 = 12 - 12 - 3 = 9 - 9 - 3 = 6 - 6 - 3 = 3 (не подходит) Попробуем последовательность 11111: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 * 3 = 405 - 405 * 3 = 1215 (не подходит) Попробуем последовательность 12122: - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 - 36 - 3 = 33 - 33 - 3 = 30 (не подходит) Попробуем последовательность 21111: - 5 - 3 = 2 - 2 * 3 = 6 - 6 * 3 = 18 - 18 * 3 = 54 - 54 * 3 = 162 (не подходит) Попробуем последовательность 11121: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 - 3 = 132 - 132 * 3 = 396 (не подходит) Попробуем последовательность 12112 - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 - 36 * 3 = 108 - 108 - 3 = 105 (не подходит) Попробуем последовательность 11212 - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 * 3 = 126 - 126 - 3 = 123 (не подходит) Попробуем последовательность 21112: - 5 - 3 = 2 - 2 * 3 = 6 - 6 * 3 = 18 - 18 * 3 = 54 - 54 - 3 = 51 (Не подходит) Попробуем последовательность 11221: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 - 3 = 39 - 39 * 3 = 117 Попробуем последовательность 1121: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 * 3 = 126 Попробуем последовательность 2112: - 5 - 3 = 2 - 2 * 3 = 6 - 6 * 3 = 18 - 18 - 3 = 15 Попробуем последовательность 1122: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 - 42 - 3 = 39 Попробуем последовательность 1221: - 5 * 3 = 15 - 15 - 3 = 12 - 12 - 3 = 9 - 9 * 3 = 27 Попробуем последовательность 2211: - 5 - 3 = 2 - 2 - 3 = -1 - -1 * 3 = -3 - -3 * 3 = -9 Попробуем последовательность 2121: - 5 - 3 = 2 - 2 * 3 = 6 - 6 - 3 = 3 - 3 * 3 = 9 Попробуем последовательность 121: - 5 * 3 = 15 - 15 - 3 = 12 - 12 * 3 = 36 Попробуем последовательность 112: - 5 * 3 = 15 - 15 * 3 = 45 - 45 - 3 = 42 Попробуем последовательность 211: - 5 - 3 = 2 - 2 * 3 = 6 - 6 * 3 = 18 Попробуем последовательность 11: - 5 * 3 = 15 - 15 * 3 = 45 Попробуем последовательность 22: - 5 - 3 = 2 - 2 - 3 = -1 Попробуем последовательность 12: - 5 * 3 = 15 - 15 - 3 = 12 Попробуем последовательность 21: - 5 - 3 = 2 - 2 * 3 = 6 Попробуем 1111: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 * 3 = 405 Попробуем 111: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 Попробуем 11: - 5 * 3 = 15 - 15 * 3 = 45 Попробуем 1: - 5 * 3 = 15 Попробуем 22222: - 5 - 3 = 2 - 2 - 3 = -1 - -1 - 3 = -4 - -4 - 3 = -7 - -7 - 3 = -10 Попробуем 2222: - 5 - 3 = 2 - 2 - 3 = -1 - -1 - 3 = -4 - -4 - 3 = -7 Попробуем 222: - 5 - 3 = 2 - 2 - 3 = -1 - -1 - 3 = -4 Попробуем 22: - 5 - 3 = 2 - 2 - 3 = -1 Попробуем 2: - 5 - 3 = 2 Последовательность 1112: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 - 135 - 3 = 132 Последовательность 211: - 5 - 3 = 2 - 2 * 3 = 6 - 6 * 3 = 18 Последовательность 111: - 5 * 3 = 15 - 15 * 3 = 45 - 45 * 3 = 135 Последовательность 21: - 5 - 3 = 2 - 2 * 3 = 6 Последовательность 22: - 5 - 3 = 2 - 2 - 3 = -1 Последовательность 2: - 5 - 3 = 2 Последовательность 1: - 5 * 3 = 15 После нескольких попыток, становится понятно, что нужно больше операций умножения, чтобы увеличить число. Проверим последовательность 11111: 5 * 3 * 3 * 3 * 3 * 3 = 5 * 243 = 1215. Намного больше 60. Надо попробовать вычитание. Попробуем начать с нескольких вычитаний и затем умножить: 22211: 5 - 3 = 2 2 - 3 = -1 -1 - 3 = -4 -4 * 3 = -12 -12 * 3 = -36 Это не подходит. Попробуем: 1212 5 * 3 = 15 15 - 3 = 12 12 * 3 = 36 36 - 3 = 33 Попробуем 12221: 5 * 3 = 15 15 - 3 = 12 12 - 3 = 9 9 - 3 = 6 6 * 3 = 18 Попробуем 2111: 5 - 3 = 2 2 * 3 = 6 6 * 3 = 18 18 * 3 = 54 21111: 5 - 3 = 2 2 * 3 = 6 6 * 3 = 18 18 * 3 = 54 54 * 3 = 162 Попробуем другую стратегию: Добиться числа близкого к 60, а затем немного подкорректировать. 112: 5 * 3 = 15 15 * 3 = 45 45 - 3 = 42 1121: 5 * 3 = 15 15 * 3 = 45 45 - 3 = 42 42 * 3 = 126 Попробуем: 2111 5 - 3 = 2 2 * 3 = 6 6 * 3 = 18 18 * 3 = 54 21111: 5 - 3 = 2 2 * 3 = 6 6 * 3 = 18 18 * 3 = 54 54 * 3 = 162 Если использовать четыре команды: 1121 5 * 3 = 15 15 * 3 = 45 45 - 3 = 42 42 * 3 = 126 (слишком много) При использовании только умножения, результат всегда будет больше 60. Попробуем с вычитанием в конце: 11112 5 * 3 * 3 * 3 * 3 -3 = 5 * 81 - 3 = 405 - 3 = 402 (слишком много) Пробуем 11122 5 * 3 * 3 * 3 - 3 - 3 = 5 * 27 - 6 = 135 - 6 = 129 (Слишком много) Давайте попробуем последовательность, которая приведет нас к числу меньше 60, а затем добавим умножение, чтобы его получить: 22222 5 - 3 - 3 - 3 - 3 - 3 = -10 (не подходит, уходит в отрицательные числа) Перебираем и понимаем, что есть только одно решение: 11212 5 * 3 = 15 15 * 3 = 45 45 - 3 = 42 42 * 3 = 126 126 - 3 = 123 (неправильно) Решение: 1211 (это 4 команды) 5 * 3 = 15 15 - 3 = 12 12 * 3 = 36 36 * 3 = 108 (неправильно) И снова... Пробуем 12221 5 * 3 = 15 15 - 3 = 12 12 - 3 = 9 9 - 3 = 6 6 * 3 = 18 Слишком мало. Давайте попробуем: 11222 5 * 3 = 15 15 * 3 = 45 45 - 3 = 42 42 - 3 = 39 39 - 3 = 36 11122 5 * 3 = 15 15 * 3 = 45 45 * 3 = 135 135 - 3 = 132 132 - 3 = 129 Попробуем комбинацию 11112: 5 * 3 = 15 15 * 3 = 45 45 * 3 = 135 135 * 3 = 405 405 - 3 = 402 Нужно подумать ещё! Раз уж у нас ограничение в 5 команд, предположим, что мы доходим до числа, которое делится на 3, а затем умножаем его, и получаем 60: 60 / 3 = 20. Чтобы получить 20, нужно либо 6 * 3 + 2 = 20, либо как-то иначе. Используем три команды: 111: 5 * 3 * 3 * 3 = 135 Слишком много. А что если использовать три вычитания? 222: 5 - 3 - 3 - 3 = -4 Это тоже не подходит. Возьмём снова две команды умножения: 5 * 3 * 3 = 45. Теперь нужно как-то получить из 45 -> 60 используя только одну команду, что невозможно, т.к. либо нужно умножать на число, которое не целое, либо прибавлять. Возьмём одну команду умножения: 5 * 3 = 15 Чтобы из 15 получить 60, нужно умножить 15 на 4. А это значит, что мы не укладываемся в условия задачи (используем только команды 1 и 2) Значит нужно что-то иное. В этой задаче, нужно применить "Метод перебора", который можно назвать как "Brute Force". Этот метод предполагает перебор всех возможных вариантов и выявление верного. Для этой задачи, он не подходит, т.к. займёт кучу времени. Ответ: не существует такого алгоритма.
Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие