Олимпиадные задачи по программированию. Ч. 4. Лучшие решения. Ускова О.Ф - 75 стр.

UptoLike

Составители: 

procedure Go; {по заданному числу N находим число
(index), а в нем символ(С)}
var
Sum,cur,index,degr,l:longint;
plus:word;
s:string;
begin
plus:=1;
Sum:=0;
Cur:=0;
index:=0;
degr:=10;
while sum<n do
begin
inc(index);
if (index mod degr) = 0 then
begin
degr:=degr*10;
inc(plus);
end;
inc(cur,plus);
inc(sum,cur);
end; {нашли границы в которых надо искать (одна
последовательность
Cur<N<Sum)}
l:=sum-cur;
degr:=10;
plus:=1;
index:=0;
while l<n do
begin
inc(index);
if (index mod degr) = 0 then
begin
degr:=degr*10;
inc(plus);
end;
inc(l,plus);
end; {теперь в index содержится число, внутри
которого ищем символ}
str(index,s);