01

Пример от 1 до 100

Цифра 1 стоит в разряде единиц десять раз: 1, 11, 21 и так далее до 91. В разряде десятков она встречается в десяти числах от 10 до 19. Число 100 добавляет ещё одну единицу.

Итого получается 21. Число 11 правильно учитывается дважды, потому что в нём две единицы в разных разрядах.

02

Полные циклы

Последняя цифра повторяет цикл из десяти значений. Разряд десятков держит одно значение десять чисел подряд и повторяет цикл через сто. Для большого N разделите диапазон на полные циклы и остаток.

Один и тот же принцип работает для любой цифры от 1 до 9. Сначала посчитайте вклад полных блоков, затем просмотрите неполный хвост.

03

Почему ноль особенный

При записи чисел мы не используем ведущие нули: число 7 не пишется как 007. Поэтому прямое симметричное рассуждение завышает число нулей в старших разрядах.

Для нуля либо отдельно исключайте ведущие позиции, либо рассматривайте диапазоны с фиксированной длиной записи. Условие должно уточнять, допускаются ли ведущие нули.

Коротко о частом

Вопросы и ответы

Число 100 включается?

Только если в условии сказано «до 100 включительно». Границы диапазона нужно проверять отдельно.

Считать число 11 один или два раза?

Два раза при вопросе о количестве цифр, один раз при вопросе о количестве чисел, содержащих единицу.