5 номер. Преобразование записей чисел
Алгоритм обработки числа
(А. Сардарян) На вход алгоритма подаётся два натуральных числа N и M. Алгоритм строит по ним новое число R следующим образом.
1) Вычисляется произведение P₁ всех ненулевых чётных цифр чисел N и M.
2) Вычисляется произведение P₂ всех нечётных цифр чисел N и M.
3) Результат R вычисляется как модуль разности P₁ и P₂.
Например, для N = 256 и M = 108 получаем P₁ = 2·6·8 = 96 и P₂ = 5·1 = 5, так что R = |96 - 5|= 91. Укажите минимальное число M, при котором для N = 120 получается R = 29.
Подсказка
Сначала выполните все шаги для одного N, сохраняя строку после каждого изменения. Затем уточните, что требуется выбрать: N, R или количество значений.
Решение
Искомая величина: Например, для N = 256 и M = 108 получаем P₁ = 2·6·8 = 96 и P₂ = 5·1 = 5, так что R = |96 - 5|= 91. Укажите минимальное число M, при котором для N = 120 получается R = 29.
Разделите решение на два действия: для одного входного числа точно воспроизведите алгоритм, затем отберите результаты по условию задачи. Храните запись числа строкой; основание используемой системы счисления — 10.
В шаге с разностью важен порядок операндов. Сохраните исходное число и промежуточные результаты отдельно, чтобы вычитать именно указанные величины, не перезаписав одну из них строковым представлением.
Отбирайте ту величину, о которой спрашивается в последнем предложении: исходное число и результат алгоритма нельзя подменять друг другом. Для наименьшего входа рассматривайте допустимые N по возрастанию; для наибольшего проверяйте весь обоснованный диапазон.
Строгое «больше» означает >, а «не меньше» — >=; аналогично различайте верхние границы. Диапазон перебора определяйте из ограничений и изменения длины записи, а не произвольной константой. Пример из условия помогает проверить отдельный проход алгоритма.
Ответ: 238.