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

Выражение минус x

Маленькое x портит красивое число

Число 7170 + 7100 в семеричной записи выглядит идеально: две единицы и сплошные нули. Добавим в это выражение вычитание x (7170 + 7100 — х) и часть нулей превратилась в шестёрки.

Чем больше x, тем глубже испорчен хвост. Надо подобрать x по условию. Попробуем посчитать сколько нулей будет при каком-то х.

Важно: Вычитание портит только младшие разряды.


Идея

Если x не превосходит pk, испорчены только k младших разрядов, а всё выше остаётся как было. Значит верхнюю часть нулей можно посчитать сразу.

Остальные нули сидят в хвосте, и там проще перебрать все x подряд.

Перебор идёт от 1 до границы из условия включительно. За наибольшим x удобно идти сверху вниз и остановиться на первом подходящем.

Не считай вручную - перебирай x, а считает пусть машина.


Разбор

Значение арифметического выражения 7170 + 7100 − x, где x — целое положительное число, не превышающее 2030, записали в 7-ричной системе счисления. Определите наибольшее значение x, при котором в записи содержится ровно 71 нуль. (Демо-2025)

Число 2030 меньше, чем 74 = 2401, поэтому x задевает только четыре младших разряда.

Верхняя часть при любом таком x одна и та же: единица в разряде 170, под ней 70 нулей, дальше 96 шестёрок.

Значит в четырёх младших разрядах должен остаться ровно один ноль, а равны они 2401 − x.

При x = 2029 получаем 372, в семеричной это 1041 — один ноль. При x = 2030 выходит 1040, нулей уже два.

Наибольшее x равно 2029.



Что печатает программа
2029

Программа подтвердила разбор.


Проверь себя


Сколько нулей в семеричной записи числа \(7^{170}-7^{100}-1715\)?

Сколько цифр 6 в семеричной записи числа \(7^{170}-7^{100}-1715\)?

Ловушки

  • Считали нули только в испорченном хвосте.
  • Начали перебор с нуля. По условию x положительное.
  • Написали range до границы, не включив её саму.
  • Взяли первое подходящее x снизу, когда просили наибольшее.
  • Оценили ответ на глаз и не проверили соседнее значение x.
Печать