Помогите решить задачу по информатике на языке pascal Число Х получают следующим об?
Помогите решить задачу по информатике на языке pascal
Число Х получают следующим об??азом: слева на право записывают без пробелов подряд числа от 1 до N (123456...N). По заданному числу N определить, сколько цифр в числе Х.
Помогите пожалуйста, даю много баллов, программировать умею, саму задачу не понимаю.
Ответ(ы) на вопрос:
Можно покороче и без biginteger, и без массивов)))
var
n,k,s,m,p:longint;
begin
Read(n);
s:=0; k:=0; m:=1; p:=n;
repeat
inc(k);
if p<10 then s:=s+k*(n-m+1)
else begin s:=s+k*9*m; m:=10*m end;
p:=p div 10
until p=0;
Writeln(s);
end.
Примеры:
5
5
15
21
120
252
1535323
9636157
Не нашли ответ?
Похожие вопросы