Исполнителя Квадратор две команды, которым присвоены номера:
1. Прибавь 3
2. Возведи в квадрат
Первая из них увеличивает число на экране на 3, вторая возводит его во вторую степень.
Исполнитель работает только с натуральными числами.
Составь алгоритм получения из числа 5 числа 127, содержащий не более 5 команд.
Пример:
Имеем команды:
1. Раздели на 2.
2. Вычти 1.
12112 — это алгоритм:
раздели на 2
вычти 1
раздели на 2
раздели на 2
вычти 1,
который преобразует число 42 в число 4
Нам важно однозначное разбиение, поэтому вариант "00" не подходит, так как его можно спутать с буквой "Б". Другие значение проверим при дерева.
1. Пусть буква "Г" будет записана в первую ветку (1). Распишем ее.
Первой ветке подходит буква "В", так как код начинается с единицы. Рисуем еще ветку, также с единицей и нулем. Получается, что "В" пойдет во вторую ветку (0), а "Г", соответственно, в первую. Итого получаем: В = 10, Г = 11.
2) Пусть "Г" будет во второй ветке (0). С нуля начинаются буквы "А" и "Б", поэтому их тоже пишем. Рисуем еще две ветки. Так как А = 01, то она пойдет в первую ветку, буквы "Б" и "Г" пишем во вторую. "Б" = 000, поэтому пишем во вторую ветку, следовательно, "Г" пойдет в первую. Итого: А = 01, Б = 000, Г = 001.
Теперь сравним полученные значения. Переведем их в десятичную систему счисления.
11₂ = 1*2¹ + 1*2⁰ = 2 + 1 = 3₁₀.
001₂ = 1*0² + 1*0¹ + 1*2⁰ = 0 + 0 + 1 = 1₁₀.
В итоге, значение 001 является минимальным и соответствует однозначному декодированию.
ответ: 001.
Решение смотри во вложении.
... очень скоро находится кучка хакеров, которые ломают эту систему, превращая всех людей на планете в зомби. Кучка хакеров захватывает мир. Потом главный хакер убивает всех других хакеров и становится правителем мира. И никто даже не рыпнется против него! :) Занавес.