OpenFIPI 2.0
105
5
oge_DDE9A9
У исполнителя Удвоитель две команды, которым присвоены номера:
1. вычти три
2. умножь на пять
Первая из них уменьшает число на экране на 3, вторая увеличивает его в 5 раз. Составьте алгоритм получения из числа 3 числа 66, содержащий не более пяти команд. В ответе запишите только номера команд.
(Например, 21211 – это алгоритм:
умножь на пять
вычти три
умножь на пять
вычти три
вычти три,
которыий преобразует число 3 в число 54.)
Если таких алгоритмов более одного, то запишите любоий из них.
22111
Решим обратным ходом.
**Начальное:** 3
**Конечное:** 66
**Команды:**
1. вычти 3
2. умножь на 5
Обратные команды (от 66 к 3):
- прибавить 3 (обратная к 1)
- разделить на 5 (обратная к 2), только если число делится на 5.
---
66 не делится на 5 → последняя команда была 1, т.е. предыдущее число 69 (66+3=69).
69 не делится на 5 → предыдущее 72 (69+3=72).
72 не делится на 5 → предыдущее 75 (72+3=75).
75 делится на 5 → 75/5 = 15 (обратная 2).
15 не делится на 5 → предыдущее 18 (15+3=18).
18 не делится на 5 → предыдущее 21 (18+3=21).
21 не делится на 5 → предыдущее 24 → 27 → 30.
30/5 = 6.
6 не делится на 5 → 9 → 12 → 15.
Уже было. Долго.
---
Можно короче:
66 +3 = 69 (+3) = 72 (+3) = 75 (/5) = 15.
15 +3 = 18 (+3) = 21 (+3) = 24 (+3) = 27 (+3) = 30 (/5) = 6.
6 +3 = 9 (+3) = 12 (+3) = 15. Повтор. Получается, что от 6 нужно дойти до 3:
6 /5? нет, 6+3=9, 9+3=12, 12+3=15, 15/5=3.
Итого:
Обратный путь:
66 ← 69 (1)
69 ← 72 (1)
72 ← 75 (1)
75 ← 15 (2)
15 ← 18 (1)
18 ← 21 (1)
21 ← 24 (1)
24 ← 27 (1)
27 ← 30 (1)
30 ← 6 (2)
6 ← 9 (1)
9 ← 12 (1)
12 ← 15 (1)
15 ← 3 (2) — слишком много шагов.
---
Попробуем подобрать прямой путь:
3 → 15 (2)
15 → 12 (1)
12 → 60 (2) — перелетели.
60 → 57 (1)
57 → 54 (1) — не 66.
54 → 270 (2) — далеко.
Ещё:
3 → 15 (2)
15 → 75 (2)
75 → 72 (1)
72 → 69 (1)
69 → 66 (1) ✅
Проверим:
3 ×5 = 15 (2)
15 ×5 = 75 (2)
75 –3 = 72 (1)
72 –3 = 69 (1)
69 –3 = 66 (1)
Команды: 2, 2, 1, 1, 1 → **22111** (5 команд).
**Ответ: 22111**
Просмотреть отправленные ответы oge_DDE9A9