Статья Автор: Деникина Н.В., Деникин А.В.

Ведущая цифра не бывает нулём

Число не начинается с нуля

Записи 0129 не существует: это просто 129. Поэтому если неизвестная цифра стоит в записи первой, нулём она быть не может.

Иногда это пишут прямо в условии — «переменная x обозначает некоторую ненулевую цифру». Но чаще не пишут, и следить приходится самому: достаточно посмотреть, стоит ли x на первом месте хотя бы в одном операнде.

Старшая цифра не бывает нулём.


Что меняется в решении

В любом решении меняется только одно — список, из которого выбирают ответ — ноль из него вычёркивают.

Заметно это становится там, где просят наименьшее x. Если ноль подошёл по кратности, он окажется первым в списке и утащит ответ за собой.

В программе правка ровно одна: перебор начинается не с нуля, а с единицы.

Осторожно с обратным: если x стоит не первой, ноль полноправная цифра и выбрасывать его нельзя.


Разбор

Операнды записаны в системе счисления с основанием 22: x129 + 2x1470. Определите наименьшее значение x, при котором значение выражения кратно 17, и вычислите частное.

Кратность здесь не 21, а 17, поэтому фокус с суммой цифр не работает — считаем значения напрямую.

В первом операнде x стоит старшей цифрой, значит перебираем от 1 до 21.

Подходят два значения, 4 и 21. Наименьшее из них 4.

Если бы ноль попал в этот список, его пришлось бы выбросить: числа 0129 в 22-ричной записи не бывает.



Что печатает программа
4 664715

Перебор идёт по возрастанию, поэтому первое найденное значение x и есть наименьшее


Проверь себя


Числа x88 и 8x записаны в девятеричной системе. При каком наименьшем x их сумма кратна 8?

Неизвестная цифра x стоит первой в записи числа по основанию 26. Сколько значений ей доступно?

Ловушки

  • Начали перебор с нуля, хотя x стоит первой цифрой.
  • Выбросили ноль, хотя x стоит в середине записи. Там он законен.
  • Проверили только тот операнд, что записан первым. Смотреть надо все.
  • Решили, что раз в условии нет слов про ненулевую цифру, ноль разрешён.
  • Применили сумму цифр, когда делитель не равен p − 1.
Печать