Давайте решим задачу пошагово. Нам нужно получить число 33 из числа 3, используя не более 5 команд: умножить на 2 (команда 1) или прибавить 3 (команда 2).
Обозначим текущие числа и будем искать последовательность команд.
Идея:
- Начинаем с числа 3.
- Хотим получить 33.
- Используем обратный подход (от 33 к 3), чтобы определить последовательность команд, а затем перевернём её.
Обратный ход
- Если число чётное, могло быть получено умножением на 2 исходного числа (делим на 2).
- Если число нечётное, скорее всего, оно было получено прибавкой 3, значит, вычитаем 3.
Работаем с числом 33, двигаемся назад:
33 — нечётное → предположим, что было прибавление 3, значит, предыдущее число:
33 - 3 = 30.
30 — чётное → возможно, было умножение на 2, значит предыдущее число:
30 / 2 = 15.
15 — нечётное → вероятно, прибавка 3:
15 - 3 = 12.
12 — чётное → делим на 2:
12 / 2 = 6.
6 — чётное → делим на 2:
6 / 2 = 3.
Мы пришли к исходному числу 3. Значит, обратный порядок команд:
- 33 — прибавка 3 (предыдущий шаг)
- 30 — умножение на 2
- 15 — прибавка 3
- 12 — умножение на 2
- 6 — умножение на 2
- 3 — начальное число.
Переворачиваем последовательность команд (от 3 к 33):
Наоборот, получаем:
- команда для 3: (начинаем с 3)
- применяем команду, которая приведёт к 6 (умножение на 2) → команда 1
- далее к 6 — умножение на 2 → команда 1
- к 12 — прибавка 3 → команда 2
- к 15 — умножение на 2 → команда 1
- к 30 — прибавка 3 → команда 2
- к 33 — умножение на 2? Нет, мы дошли до 33, что на самом деле прибавка 3, также это было сделано в депопередней итерации. В нашем обратном порядке последний - это прибавка 3.
Учитывая, что начальное число — 3, а мы достигли 33 за 5 команд, то последовательность команд (первая команда — умножить на 2, вторая — прибавить 3):
(Перепишем последовательность правильно: )
Обратная последовательность команд (от 3 к 33):
- Прибавь 3 (получаем 6) → команда 2
- Умножь на 2 (6 → 12) → команда 1
- Прибавь 3 (12 → 15) → команда 2
- Умножь на 2 (15 → 30) → команда 1
- Умножь на 2 (30 → 60) — это больше 33, следовательно, нам нужен меньший шаг.
Но нам нужно строго получить 33. Посмотрим внимательно:
Попытка другого варианта
Пробуем другой способ, чтобы точно получить 33 за 5 команд.
Рассмотрим напрямую:
- Начинаем с 3
- Можно сделать:
- Умножить на 2: 3 → 6
- Умножить на 2: 6 → 12
- Прибавить 3: 12 → 15
- Умножить на 2: 15 → 30
- Прибавить 3: 30 → 33
Последовательность команд: 1 1 2 1 2
Проверка:
3 → (x2) → 6
6 → (x2) → 12
12 → (+3) → 15
15 → (x2) → 30
30 → (+3) → 33
Это подходит и занимает ровно 5 команд.
Ответ:
1 1 2 1 2
Если хотите, я могу пояснить подробнее, почему именно так выбирались команды.