Указание:
Алгоритм анализирует двенадцатеричную запись числа.
Решение:
В алгоритме используется остаток от деления
на
, а при каждом проходе цикла
нацело делится на
. Эти действия соответствуют разбору цифр в двенадцатеричной записи: остаток от деления показывает последнюю цифру записи, а целое деление отбрасывает эту цифру. Остаток от деления на
показывает чётность числа.
– чётное число, поэтому чётность числа в целом совпадает с чётностью его последней цифры. В результате работы алгоритма значением переменной
будет сумма нечётных цифр в двенадцатеричной записи исходного числа, а значением
– произведение чётных цифр в этой записи. По условию
,
, исходное число должно быть минимальным. Значит, нужно получить
как сумму наименьшего числа нечётных слагаемых и
как произведение наименьшего числа чётных сомножителей. При этом все слагаемые и сомножители должны быть в диапазоне от
до
, так как это остатки от деления на
. Нужный результат достигается, если в двенадцатеричной записи содержится
, и произведение
. (Возможен еще вариант
, но при равном количестве выгоднее брать тот вариант, в котором меньшее число меньше.) Двенадцатеричная запись числа должна состоять из цифр
,
и
. Чтобы число было как можно меньше, цифры нужно расположить в порядке возрастания. Получаем ответ:
.