у меня идея в целом какая. Берем все однозначные числа. Их 9, длина каждого - 1 символ
Значит длина первого - 1, последнего 9, с шагом 1, сумма первых 9 чисел (1 + 9) / 2 * 9 (сумма арифметической прогрессии) = 45
Если наша позиция больше - вычитаем 45 идем дальше
Длина первого блока для двузначного числа = 9 + 2 = 11, всего двузначных числе 90, длина последнего - 189, сумма прогрессии - 9000
Дальше для 3, 4, 5 значных и так до тех пор пока не получим, что сумма прогрессии для n-значных чисел превышает наш остаток
Дальше вычисляем в каком из блоков для n-значных чисел находится наш ответ
Длина первого члена прогрессии нам известна, шаг известен, наша позиция - максимально возможная сумма прогрессии, составляем квадратное уравнение, в котором один корень всегда отрицательный получается, берем целую часть нашего положительного корня, получаем количество членов прогрессии, выкидываем их сумму из нашей позиции и в конце у нас должна остаться позиция символа в строке 12345678910111213...
- вот как раз в такой самой строке про которую задача во 2кю. Только там надо по числу найти позицию, а тут по позиции - числа.
Дальше получается уже чуть проще - длина всех 1-значных - 9, всех двузначных - 2*90, трехзначных - 3*900 - в находим казалось бы в конце число, внутри которого на нужной позиции стоит искомая цифра, но...500 правильных тестов и 1000 неправильных...и все неправильные на таких числах что вручную проверять нереально