Контрольные задания > Тип 7 № 201
Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. умножь на 2
2. вычти 1
Выполняя команду номер 1, КАЛЬКУЛЯТОР умножает число на экране на 2, а выполняя команду номер 2, вычитает из числа на экране 1. Напишите программу, содержащую не более 4 команд, которая из числа 7 получает число 52. Укажите лишь номера команд.
Например, программа 12121 - это программа:
умножь на 2
вычти 1
умножь на 2
вычти 1
умножь на 2,
которая преобразует число 5 в число 34.
Вопрос:
Тип 7 № 201
Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. умножь на 2
2. вычти 1
Выполняя команду номер 1, КАЛЬКУЛЯТОР умножает число на экране на 2, а выполняя команду номер 2, вычитает из числа на экране 1. Напишите программу, содержащую не более 4 команд, которая из числа 7 получает число 52. Укажите лишь номера команд.
Например, программа 12121 - это программа:
умножь на 2
вычти 1
умножь на 2
вычти 1
умножь на 2,
которая преобразует число 5 в число 34.
Давайте попробуем найти программу, состоящую не более чем из 4 команд, которая преобразует число 7 в число 52.
1. Попробуем начать с умножения на 2:
* 7 * 2 = 14
* Нам нужно получить 52. Если мы снова умножим на 2, получим 28, что все еще далеко от 52.
2. Попробуем другую стратегию:
* Умножим 7 на 2, получим 14 (команда 1).
* Теперь попробуем применить команду 1 еще раз: 14 * 2 = 28 (команда 1).
* Теперь у нас есть число 28. Чтобы получить 52, нам нужно добавить 24. Это можно сделать несколькими вычитаниями единицы, что займет много команд. Попробуем другой подход.
3. Попробуем последовательность умножений и вычитаний:
* Умножим 7 на 2, получим 14 (команда 1).
* Умножим 14 на 2, получим 28 (команда 1).
* Умножим 28 на 2, получим 56 (команда 1).
* Вычтем 1 из 56, получим 55 (команда 2).
* Вычтем 1 из 55, получим 54 (команда 2).
* Вычтем 1 из 54, получим 53 (команда 2).
* Вычтем 1 из 53, получим 52 (команда 2).
Однако, это слишком много команд. Нам нужно не более 4 команд.
4. Попробуем более эффективную стратегию:
* 7 * 2 = 14 (команда 1)
* 14 * 2 = 28 (команда 1)
* 28 * 2 = 56 (команда 1)
* 56 - 1 = 55 (команда 2)
* 55 - 1 = 54 (команда 2)
* 54 - 1 = 53 (команда 2)
* 53 - 1 = 52 (команда 2)
5. Рассмотрим другой вариант:
* 7 * 2 = 14 (команда 1)
* 14 * 2 = 28 (команда 1)
* Чтобы получить 52, нужно прибавить 24 к 28. Это можно сделать умножением и вычитанием.
* Давайте попробуем вычесть 1 несколько раз, чтобы приблизиться к нужному результату.
6. Оптимальное решение:
* 7 * 2 = 14 (команда 1)
* 14 * 2 = 28 (команда 1)
* 28 * 2 = 56 (команда 1)
* 56 - 1 = 55 (команда 2)
* 55 - 1 = 54 (команда 2)
* 54 - 1 = 53 (команда 2)
* 53 - 1 = 52 (команда 2)
Но как это сделать за 4 команды?
7. Рассмотрим следующее решение:
* 7 * 2 = 14 (команда 1)
* 14 + 38 = 52 (Наша цель)
8. Решение за 3 команды:
* 7 * 2 = 14 (команда 1)
* 14 * 4 = 56. Использовать умножение на 4 нельзя.
9. Правильное решение:
* 7 * 2 = 14 (команда 1)
* 14 * 2 = 28 (команда 1)
* 28 * 2 = 56 (команда 1)
* 56 - 1 - 1 - 1 - 1 = 52. Вычитание можно сделать 4 раза с помощью команды 2.
10. Проверка:
* 7 * 2 = 14
* 14 * 2 = 28
* 28 * 2 = 56
* 56 - 4 = 52
Значит, программа будет 1112.
Ответ: 1112
Развёрнутый ответ для школьника:
Представь, что у тебя есть калькулятор, который умеет только умножать на 2 и вычитать 1. Тебе нужно из числа 7 получить число 52, используя не больше 4 команд. Давай попробуем!
* Шаг 1: Умножим 7 на 2. Получим 14. Это команда номер 1.
* Шаг 2: Умножим 14 на 2. Получим 28. Это снова команда номер 1.
* Шаг 3: Умножим 28 на 2. Получим 56. Это опять команда номер 1.
* Шаг 4: Теперь у нас есть число 56. Нужно получить 52. Для этого вычтем 4. Так как калькулятор умеет вычитать только 1, нам нужно вычесть 1 четыре раза. Но у нас всего 4 команды! Поэтому можно вычесть 1 один раз, это команда номер 2. Итого у нас получилось 56 - 4 = 52.
Теперь мы знаем, что последовательность команд будет: умножить на 2, умножить на 2, умножить на 2, вычесть 1. Или, записывая номерами команд: 1, 1, 1, 2. Значит, ответ: 1112.