Предмет: Информатика, автор: Nиkиtа

Помогите решить задачу по информатике на языке pascal

Число Х получают следующим образом: слева на право записывают без пробелов подряд числа от 1 до N (123456...N). По заданному числу N определить, сколько цифр в числе Х.
Помогите пожалуйста, даю много баллов, программировать умею, саму задачу не понимаю.

Ответы

Автор ответа: igor9997799
0
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.
Похожие вопросы