Контрольные задания > Задание 8: У исполнителя Вычислитель две команды, которым присвоены номера: 1. вычти 3; 2. умножь на 4. Составьте алгоритм получения из числа 4 числа 46, содержащий не более 5 команд. В ответе запишите только номера команд.
Вопрос:
Задание 8: У исполнителя Вычислитель две команды, которым присвоены номера: 1. вычти 3; 2. умножь на 4. Составьте алгоритм получения из числа 4 числа 46, содержащий не более 5 команд. В ответе запишите только номера команд.
Ответ:
Решение: Нам нужно получить число 46 из числа 4, используя не более 5 команд: вычесть 3 (команда 1) или умножить на 4 (команда 2).
1. Начнем с 4. Попробуем умножить на 4: 4 * 4 = 16. (Команда 2)
2. Теперь нужно приблизиться к 46. Снова умножать на 4 не имеет смысла, так как будет слишком большое число. Поэтому попробуем умножить на 4 ещё раз, затем вычтем 3: 16 * 4 = 64. (Команда 2)
3. Вычитаем 3: 64 - 3 = 61 (команда 1)
4. Вычитаем 3: 61 - 3 = 58 (команда 1)
5. Вычитаем 3: 58 - 3 = 55 (команда 1)
6. Вычитаем 3: 55 - 3 = 52 (команда 1)
7. Вычитаем 3: 52 - 3 = 49 (команда 1)
8. Вычитаем 3: 49 - 3 = 46 (команда 1)
Получили последовательность 22111111 (8 команд). Но по условию, необходимо получить число 46 из 4 за 5 команд. Сначала попробуем другой путь:
1. 4 умножаем на 4 = 16 (команда 2).
2. 16 умножаем на 4 = 64 (команда 2).
3. 64 вычитаем 3 = 61 (команда 1).
4. 61 вычитаем 3 = 58 (команда 1).
5. 58 вычитаем 3 = 55 (команда 1).
Далее можно вычесть 3 три раза, чтобы получить 46, но это займет больше 5 команд.
Попробуем другой вариант. После первого умножения на 4 (4 * 4 = 16), попробуем вычитать 3 несколько раз:
1. 16 - 3 = 13 (команда 1)
2. 13 - 3 = 10 (команда 1)
3. 10 * 4 = 40 (команда 2)
4. 40 + 6 = 46, то есть нужно вычесть 3 дважды. 40 + 6 = 46 -> (40-3) -3 => 40 - 6 = 34. В этом случае не получается.
Рассмотрим ещё один вариант.
1. Вычитаем из 4 три: 4 - 3 = 1 (команда 1).
2. 1 умножаем на 4 = 4 (команда 2).
3. 4 умножаем на 4 = 16 (команда 2).
4. 16 умножаем на 4 = 64 (команда 2).
5. Вычитаем 3 несколько раз, пока не получим 46. Для того, чтобы из 64 получить 46, надо вычесть 18. 64 - 18 = 46. Разделим 18 на 3, получим 6. То есть, нужно 6 раз вычесть 3 (команда 1).
1, 2, 2, 2, 1, 1, 1, 1, 1, 1 (10 команд) тоже не подходит.
Попробуем следующую последовательность:
1. Умножаем на 4: 4*4=16 (команда 2)
2. Вычитаем 3: 16-3=13 (команда 1)
3. Вычитаем 3: 13-3=10 (команда 1)
4. Умножаем на 4: 10*4=40 (команда 2)
5. Вычитаем 3: 40-3=37 (команда 1)
6. Умножаем на 4: 37*4 = 148 - это слишком много.
Попробуем другой алгоритм. Будем приближаться к 46 последовательно.
1. Умножаем на 4: 4*4=16 (команда 2)
2. Вычитаем 3: 16-3=13 (команда 1)
3. Умножаем на 4: 13*4=52 (команда 2)
4. Вычитаем 3: 52-3=49 (команда 1)
5. Вычитаем 3: 49-3=46 (команда 1)
Команды: 21211
Ответ: 21211