Полностью согласен со схемой предложенной Евгением Троховым.
Но для полного понимания и удобства расчета ее можно несколько преобразовать.
Не совсем удобно, что всех разрядов по девять, а единиц десять. Сделаем их то же девять, а украденную единицу прибавим в конце расчета. Воспользуюсь его записью.
10+2*90+3*900+4*900<wbr />0+5*90000+6*900000+7
(9+2*90+3*900+4*900<wbr />0+5*90000+6*900000)+ (7+1)
9(1+2*10+3*100+4*10<wbr />00+5*10000+6*100000)<wbr />+(7+1)
9(1*10^0+2*10^1+3*10<wbr />^2+4*10^3+5*10^4+6*10<wbr />^5)+(7+1)
Такая запись проще поддается компьютерной обработке. Или для ручного счета ее можно представить в таком виде.
9(654321)+(7+1)=5888<wbr />897
Очевидно, что цифра старшего разряда числа в первой скобке, на единицу меньше числа разрядов искомого числа. Далее цифры идут на убывание.
Примем искомое число за N, а число его разрядов за n. Тогда формулу можно записать примерно таким образом.
9([n-1][n-2].....1)+ (n+1)
А если рассчитать число цифр в произвольном числе? Например 1000003. Сверх того что мы уже насчитали будет три числа, по семь символов в каждом. Следовательно, общая формула примет вид.
9([n-1][n-2].....1)+ (n+1)+n(N-10^(n-1))
9([n-1][n-2].....1)+<wbr />n(1+N-10^(n-1))+1
Мне кажется данная формула должна работать на всем диапазоне целых положительных чисел. Но кто его знает?