Давай разберём задачу, которая внизу, под номером N3.
Исполнитель Альфа может выполнять две команды:
- Вычти b;
- Умножь на 5.
Нам нужно найти число b. Известно, что последовательность команд 21121 преобразует число 2 в число 17.
Разберём пошагово, как работает программа:
- Вычесть b из 2 (это команда №2 в реальной программе, но первый шаг в нашей последовательности);
- Умножить полученный результат на 5 (команда №1);
- Вычесть b;
- Умножить на 5;
- Вычесть b.
Давай подставим эти действия в виде математических операций и вычислим b:
- 2 - b = x (некое число после вычитания b);
- x * 5 = y (результат умножения на 5);
- y - b = z (опять вычитаем b);
- z * 5 = w (снова умножаем на 5);
- w - b = 17 (последнее вычитание b и получаем конечное число 17).
Теперь нужно выразить это через переменные и решить систему, чтобы найти b: x = 2 - b; y = 5x; z = y - b; w = 5z; w - b = 17.
Подставляем одно уравнение в другое, начиная с первого: y = 5 * (2 - b); z = 5 * (2 - b) - b; w = 5 * (5 * (2 - b) - b); w - b = 17.
Теперь упростим последнее равенство: 5 * [5 * (2 - b) - b] - b = 17; 25 * (2 - b) - 5b - b = 17; 50 - 25b - 5b - b = 17; 50 - 31b = 17; 31b = 50 - 17; 31b = 33; b = 33 / 31; b = 1 + 2/31.
Таким образом, b = 1, так как b должно быть натуральным числом, и остаток 2/31 мы отбрасываем, поскольку он не влияет на результат целочисленных операций в нашей программе.
