Веду на сто
Конспект

Задание №14. Короткий конспект

Разряды, остатки, допустимые цифры и два разных критерия выбора параметра.

Сначала определяется искомая величина: количество цифр, сумма их значений, неизвестная цифра, частное или целый параметр. Одинаковая программа извлечения цифр может использоваться для разных вопросов, но действие с каждой цифрой зависит от условия.

Запись и извлечение цифр

b — основание; a_i — цифра разряда с номером i, считая справа с нуля.

n=\sum_{i=0}^{k}a_ib^i,\qquad 0\le a_i<b.

ДействиеPython
Младшая цифраdigit = n % b
Удаление младшей цифрыn //= b
Приписывание цифры справаn = n * b + digit
Степеньb ** k

Деление повторяется, пока число положительно. Остатки получаются справа налево; для количества и суммы порядок не важен. Само число 0 имеет одну нулевую цифру и обрабатывается отдельно.

Порядок решения

  1. Подсчёт цифр. Вычисляется целое выражение, затем проверяется каждый остаток. Для количества подходящих цифр прибавляется единица, для суммы — значение цифры.
  2. Неизвестная цифра. Перебирается x=0,\ldots,b-1; ведущий нуль исключается. Одинаковая буква везде заменяется одинаково. Проверяется делимость, выбирается требуемый минимум или максимум, затем вычисляется величина ответа.
  3. Целое вычитаемое. Перебирается весь заданный диапазон. «Ровно столько нулей» означает равенство; «максимальное число нулей» — поиск рекорда. Если при равенстве рекорда нужен наибольший параметр, сохраняется больший из них.

При аналитическом решении полезен заём: для m>r\ge0 разность b^m-b^r содержит m-r цифр b-1 и r нулей справа. Дополнительные слагаемые учитываются после этого.

Возможные ловушки

  • В EGE-14-0001 ↗ чётные значения включают нуль и значения больше девяти. Проверка digit % 2 == 0 сохраняет их все; список десятичных цифр неполон.
  • В EGE-14-0037 ↗ нули справа и внутри учитываются. Ведущие нули не добавляются: иначе количество зависит от оформления.
  • В EGE-14-0004 ↗ найдена цифра 27, но ответ — частное 3319197720. Подстановка цифры и нулевой остаток проверяют выбор, а не заменяют последний расчёт.