Помогите решить задачу по информатике на языке pascal Число Х получают следующим образом: слева на право записывают без пробелов подряд числа от 1 до N (123456...N). По заданному числу N определить, сколько цифр в числе Х. Помо...
Помогите решить задачу по информатике на языке 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.
Не нашли ответ?
Похожие вопросы