OpenFIPI 2.0

105

5

oge_C6A495

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

1. вычти 1

2. умножь на 2

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

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

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

вычти 1

умножь на 2

вычти 1

умножь на 2

вычти 1,

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

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

21212

Решим обратным ходом.

Начальное: 3  
Конечное: 18  
Команды:  
1. вычти 1  
2. умножь на 2  

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

---

18 чётное → делим на 2 = 9 (обратная 2).  
9 нечётное → прибавляем 1 = 10 (обратная 1).  
10 чётное → делим на 2 = 5 (обратная 2).  
5 нечётное → прибавляем 1 = 6 (обратная 1).  
6 чётное → делим на 2 = 3 (обратная 2).

Обратный путь: 18 ← 9 ← 10 ← 5 ← 6 ← 3.  
Обратные команды:  
18→9 (2)  
9→10 (1)  
10→5 (2)  
5→6 (1)  
6→3 (2)  

Прямой путь (от 3 к 18) — в обратном порядке команд:  
3 → 6 (2)  
6 → 5 (1)  
5 → 10 (2)  
10 → 9 (1)  
9 → 18 (2)  

Команды: 2, 1, 2, 1, 2 → **21212**.

Проверка:  
3 ×2 = 6 (2)  
6 –1 = 5 (1)  
5 ×2 = 10 (2)  
10 –1 = 9 (1)  
9 ×2 = 18 (2) ✅

**Ответ: 21212**

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