OpenFIPI 2.0

105

5

oge_A76DA2

У исполнителя Вычислитель две команды, которым присвоены номера:

1. умножь на 4

2. вычти 2

Первая из них увеличивает число на экране в 4 раза, вторая уменьшает его на 2.

Составьте алгоритм получения из числа 3 числа 30, содержащий не более 5 команд. В ответе запишите только номера команд.

(Например, 11221  это алгоритм:

умножь на 4

умножь на 4

вычти 2

вычти 2

умножь на 4,

который преобразует число 1 в 48.)

Если таких алгоритмов более одного, то запишите любой из них.

 

12212

Рассмотрим задачу.

Дано: начальное 3, конечное 30.  
Команды:  
1. умножь на 4  
2. вычти 2  

Нужно не более 5 команд.

---

Попробуем обратный ход от 30 к 3:

Обратные команды:  
- если была команда 1 (умножь на 4), то обратная: разделить на 4 (только если число делится на 4).  
- если была команда 2 (вычти 2), то обратная: прибавить 2.

30 + 2 = 32 (обратная 2).  
32 делится на 4 → 32 / 4 = 8 (обратная 1).  
8 + 2 = 10 (обратная 2).  
10 + 2 = 12 (обратная 2).  
12 / 4 = 3 (обратная 1).

Обратный путь:  
30 ← 32 ← 8 ← 10 ← 12 ← 3

Обратные команды:  
30→32 (2)  
32→8 (1)  
8→10 (2)  
10→12 (2)  
12→3 (1)

Теперь прямой путь (от 3 до 30) в обратном порядке команд:  
3 → 12 (1)  
12 → 10 (2)  
10 → 8 (2)  
8 → 32 (1)  
32 → 30 (2)

Проверим:  
3 (1) ×4 = 12  
12 (2) −2 = 10  
10 (2) −2 = 8  
8 (1) ×4 = 32  
32 (2) −2 = 30 ✅

**Ответ: 12212**

Просмотреть отправленные ответы oge_A76DA2