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