Ниже на четырёх языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 3. Допускается диапазон значений для величин целого типа: от −231 до 231 — 1.
Рассмотрим цикл, число шагов которого зависит от изменения переменной x:
while x > 0 do begin
...
x:= x div 10;
end;
Т. к. оператор div оставляет только целую часть от деления, то при делении на 10 это равносильно отсечению последней цифры.
Из приведенного цикла видно, что на каждом шаге от десятичной записи x отсекается последняя цифра до тех пор, пока все цифры не будут отсечены, то есть x не станет равно 0; поэтому цикл выполняется столько раз, сколько цифр в десятичной записи введенного числа.
При этом, если число x кратно двум, переменная a увеличивается на единицу, в противном случае — переменная b. Поскольку требуется ,чтобы программа напечатала сначала 2, а потом 3, необходимо, чтобы число x имело пять разрядов. Две цифры в этом числе должны быть чётные, а три — нечётные. Наименьшим числом, удовлетворяющим данным условиям является число 11122.
Ответ: 11122.

