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