Спасибо за пояснения. Задача сформулирована не совсем однозначно (не дан конкретный диапазон номеров документов и точная трактовка фразы «число 125»). Ниже предложу разумные варианты и пошаговые решения для наиболее распространённых интерпретаций. Если подтвердите диапазон, дам точный ответ под ваш случай.
Возможная трактовка задачи
- Что считать: количество чисел от 1 до N, в десятичном представлении которых встречается подстрока «125» (то есть цифры 1,2,5 идут подряд).
- Ваша примета «до 01.05.1994» не даёт точного N. Рассмотрим типичные строгие диапазоны и посчитаем для них.
Вариант 1. Диапазон 1 … 9999 (все 4-значные номера и меньше)
- Включаем 3-значное число 125 и все 4-значные числа, в которых встречается «125». Пошагово:
- 125 как отдельное число (3 цифры) — 1 число.
- Числа с 4 цифами, начинающиеся с 125: 1250, 1251, ..., 1259 — ещё 10 чисел.
- Числа с 4 цифами, оканчивающиеся на 125: 1125, 2125, 3125, 4125, 5125, 6125, 7125, 8125, 9125 — ещё 9 чисел.
- Сумма: 1 + 10 + 9 = 20.
Ответ для диапазона 1 … 9999: 20 чисел, содержащих подстроку 125.
Вариант 2. Диапазон 1 … 99999 (все 5-значные номера и меньше)
- Включаем числа с 3, 4 и 5 цифрами, в которых встречается «125». Пошагово для каждого количества цифр:
- 3-цифры: 125 — 1 число.
- 4 цифры: начинаются с 125 (125X) — 10 чисел; оканчиваются на 125 (X125) — 9 чисел; вместе 19.
- 5 цифр: возможны три позиции начала блока 125 — i = 1, 2, 3.
- i = 1: 125XX — фиксируем первые три цифры 125, оставшиеся 2 произвольны: 10^2 = 100 чисел.
- i = 2: X125X — первая цифра не ноль: 9 вариантов для первой цифры, затем один свободный хвостик (последний знак): 9 × 10 = 90 чисел.
- i = 3: XX125 — первые две цифры: 9 × 10 = 90 вариантов, после блока хвостов нет (пятую цифру нет). Итого для 5-цифровых: 100 + 90 + 90 = 280 чисел.
- Сумма по всем длинам: 1 (3-digit) + 19 (4-digit) + 280 (5-digit) = 300.
Ответ для диапазона 1 … 99999: 300 чисел, содержащих подстроку 125.
Вариант 3. Другие диапазоны
- Если у вас другой верхний предел N (например, N = 999, N = 12345 и т. д.), можно посчитать точно по той же логике, но нужно учесть, сколько именно цифр в N и какие длины чисел в диапазоне встречаются. В общем случае для точного ответа нужен конкретный N.
Что нужно от вас
- Уточните, пожалуйста, точный диапазон номеров документов: какое максимальное число N нужно учитывать (или, альтернативно, сколько документов было до 01.05.1994)?
- Подтвердите, трактовку «число 125» как подстроку «125» в десятичном представлении (например, 125, 1125, 1250 и т. д.). Если трактовка другая, скажите — скорректирую решение.
Как только вы скажете N, я дам точный ответ и, при необходимости, подробно распишу пошагово всю логику под ваш случай.