OpenFIPI 2.0
105
5
oge_A9F70B
У исполнителя Вычислитель две команды, которым присвоены номера:
1. вычти 1
2. возведи в квадрат
Первая из них уменьшает число на экране на 1, вторая возводит его во вторую степень.
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 3 числа 62, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 12112 – это алгоритм:
вычти 1
возведи в квадрат
вычти 1
вычти 1
возведи в квадрат,
который преобразует число 4 в 49.)
Если таких алгоритмов более одного, то запишите любой из них.
21211
Рассмотрим задачу.
Дано: начальное 3, конечное 62.
Команды:
1. вычти 1
2. возведи в квадрат
Нужно ≤ 5 команд.
---
Попробуем обратный ход от 62 к 3:
Обратные команды (для движения от 62 вниз к 3):
- если была команда 1 (вычти 1), то обратная: прибавить 1.
- если была команда 2 (возведи в квадрат), то обратная: извлечь квадратный корень (только если число — полный квадрат).
62 +1 = 63, 63 — не квадрат.
62 не квадрат → последняя команда была не 2, а 1.
Значит, 62 → 63 (обратная 1)
63 не квадрат → 63 → 64 (обратная 1)
64 — квадрат (8²) → 64 → 8 (обратная 2)
Теперь из 8 в 3:
8 → 9 (обратная 1)
9 — квадрат (3²) → 9 → 3 (обратная 2)
Итак, обратный путь:
62 ← 63 ← 64 ← 8 ← 9 ← 3.
Обратные команды:
62→63 (1)
63→64 (1)
64→8 (2)
8→9 (1)
9→3 (2)
Прямые команды (от 3 до 62) — записываем в обратном порядке (последнюю обратную первой прямой):
3 → 9 (2)
9 → 8 (1)
8 → 64 (2)
64 → 63 (1)
63 → 62 (1)
Проверим:
3 (2) → 9
9 (1) → 8
8 (2) → 64
64 (1) → 63
63 (1) → 62 ✅
**Ответ: 21211**
Просмотреть отправленные ответы oge_A9F70B