Помогите решить задачу по информатике на языке pascal Число Х получают следующим образом: слева на право записывают без пробелов подряд числа от 1 до N (123456...N). По заданному числу N определить, сколько цифр в числе Х. Помогите пожалуйста, даю много баллов, программировать умею, саму задачу не понимаю.
Var s: biginteger; n,i: int64; ar:array of int64=(9,90,900,9000,90000,900000,9000000,90000000); begin i:=1; read(n); while n-ar[i-1]>=0 do begin s:=s+(ar[i-1]*i); n:=n-ar[i-1]; i:=i+1; end; if(n>0)then begin s:=s+(n*i); end; write(s); end.