Пример от 1 до 100
Цифра 1 стоит в разряде единиц десять раз: 1, 11, 21 и так далее до 91. В разряде десятков она встречается в десяти числах от 10 до 19. Число 100 добавляет ещё одну единицу.
Итого получается 21. Число 11 правильно учитывается дважды, потому что в нём две единицы в разных разрядах.
Полные циклы
Последняя цифра повторяет цикл из десяти значений. Разряд десятков держит одно значение десять чисел подряд и повторяет цикл через сто. Для большого N разделите диапазон на полные циклы и остаток.
Один и тот же принцип работает для любой цифры от 1 до 9. Сначала посчитайте вклад полных блоков, затем просмотрите неполный хвост.
Почему ноль особенный
При записи чисел мы не используем ведущие нули: число 7 не пишется как 007. Поэтому прямое симметричное рассуждение завышает число нулей в старших разрядах.
Для нуля либо отдельно исключайте ведущие позиции, либо рассматривайте диапазоны с фиксированной длиной записи. Условие должно уточнять, допускаются ли ведущие нули.
Коротко о частом
Вопросы и ответы
Число 100 включается?
Только если в условии сказано «до 100 включительно». Границы диапазона нужно проверять отдельно.
Считать число 11 один или два раза?
Два раза при вопросе о количестве цифр, один раз при вопросе о количестве чисел, содержащих единицу.