OpenFIPI 2.0

105

5

oge_C90C12

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

1. вычти три

2. умножь на пять

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

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

умножь на пять

вычти три

умножь на пять

вычти три

вычти три,

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

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

21112

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

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

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

---

30 / 5 = 6 (обратная 2) — это возможно, но 6 не делится на 5 и больше 3.  
Попробуем иной путь:  
30 → +3 = 33 (обратная 1) → 33 / 5 — нецелое → +3=36 (обр. 1) → 36 / 5 — нецелое → +3=39 (обр. 1) → 39 / 5 — нецелое → +3=42 (обр. 1) — не подходит.

Итак, попробуем прямой ход.

3 → ×5 = 15 (2)  
15 → –3 = 12 (1)  
12 → –3 = 9 (1)  
9 → ×5 = 45 (2) — перелетели.  
45 → –3 = 42 (1) → 42 –3 = 39 (1) … до 30 не дошли.

Попробуем сначала вычитать, потом умножать:  
3 → –3 = 0 (1) — не подходит (должны быть натуральные числа в процессе).

---

Попробуем другой обратный путь:  
30 не делится на 5 → последняя команда была 1 (вычти 3) → предыдущее 33.  
33 не делится на 5 → последняя команда к 33 была 1 → предыдущее 36.  
36 не делится на 5 → последняя команда к 36 была 1 → предыдущее 39.  
39 не делится на 5 → последняя команда к 39 была 1 → предыдущее 42.  
42/5 нецелое, значит, обратно идём через 42–3=39 (повтор). Всё уходит вверх.

---

Попробуем добиться того, чтобы перед конечным 30 была команда 2 (умножь на 5) → 30/5 = 6.  
То есть 6 → 30 (2).  
Надо из 3 получить 6 за 4 команды.

Варианты:  
3 → ×5=15 (2) → –3=12 (1) → –3=9 (1) → –3=6 (1) → 30 (2).  
Команды: 2,1,1,1,2 → 21112.

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

Длина = 5 команд.

**Ответ: 21112**

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