OpenFIPI 2.0
105
5
oge_F7C9D4
У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на 3
2. вычти 2
Первая из них увеличивает число на экране в 3 раза, вторая уменьшает его на 2.
Составьте алгоритм получения из числа 1 числа 23, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 11221 – это алгоритм:
умножь на 3
умножь на 3
вычти 2
вычти 2
умножь на 3,
который преобразует число 1 в 15.)
Если таких алгоритмов более одного, то запишите любой из них.
11122
Решим обратным ходом.
**Начальное:** 1 → **Конечное:** 23
**Команды:**
1. умножь на 3
2. вычти 2
Обратные команды (от 23 к 1):
- разделить на 3 (обратная к 1), только если число делится на 3
- прибавить 2 (обратная к 2)
---
23 не делится на 3 → последняя команда 2 (вычти 2) → предыдущее 25 (23 + 2 = 25).
25 не делится на 3 → предыдущее 27 (25 + 2 = 27).
27 делится на 3 → 27 / 3 = 9 (обратная 1).
9 делится на 3 → 9 / 3 = 3 (обратная 1).
3 делится на 3 → 3 / 3 = 1 (обратная 1).
Обратный путь: 23 ← 25 ← 27 ← 9 ← 3 ← 1.
Обратные команды:
23 → 25 (2)
25 → 27 (2)
27 → 9 (1)
9 → 3 (1)
3 → 1 (1)
Прямой путь (от 1 к 23) — в обратном порядке команд:
1 → 3 (1)
3 → 9 (1)
9 → 27 (1)
27 → 25 (2)
25 → 23 (2)
Команды: 1, 1, 1, 2, 2 → **11122**.
Проверка:
1 ×3 = 3 (1)
3 ×3 = 9 (1)
9 ×3 = 27 (1)
27 – 2 = 25 (2)
25 – 2 = 23 (2) ✅
**Ответ: 11122**
Просмотреть отправленные ответы oge_F7C9D4