Задача про последовательность цифр: блоки чередуются как 1, 2, 11, 22, 111, 222, 1111, 2222, ... то есть части длиной k идут два раза подряд: сначала блок из k единиц, затем блок из k двоек, для каждого k = 1, 2, 3, ...
Пусть N = 1001001 — количество цифр в рассматриваемом числе.
Суммарное число цифр после завершения блоков для всех k до m: T_m = m(m+1). (Это сумма k + k по каждому k от 1 до m, то есть 2(1+2+...+m) = 2·m(m+1)/2 = m(m+1).)
Найдём m such что T_m ≤ N < T_{m+1}.
- T_1000 = 1000·1001 = 1 001 000 ≤ N.
- T_1001 = 1001·1002 = 1 003 002 > N. Значит m = 1000, и N = T_1000 + r, где r = N − T_1000 = 1.
В полном префиксе до k = 1000 обе цифры встречаются одинаково часто: количество 1 и 2 в таком префиксе равно равно S = 1 + 2 + ... + 1000 = 1000·1001/2 = 500 500.
Остаток r = 1 цифта попадает в следующий блок. Следующий блок после завершения k = 1000 — это блок из 1001 единиц (перед ним идёт блок из 1000 двоек, который уже завершён). Поэтому дополняется 1 единица и 0 двоек.
Итого:
- количество единиц: S + 1 = 500 500 + 1 = 500 501;
- количество двоек: S = 500 500.
Ответ: в 1001001-значном числе в его десятичной записи содержится 500501 единиц и 500500 двоек.