uses crt;
var k,i,s,b,c,n,a:longint;
function Fib(i:integer):longint;{функция создания чисел Фибоначчи}
begin
if i<=2 then Fib:=1{первые 2 числа=1}
else
Fib:=Fib(i-2)+Fib(i-1);{остальные равны сумме 2х предыдущих}
end;
begin
clrscr;
write('k=');readln(k);{задаем номер цифры в ряду}
writeln('Rjad: ');
s:=0;i:=0;{суммарное количество цифр в ряду, номер очередного числа Фибоначчи}
while s<k do{пока количество цифр меньше заданного номера}
begin
i:=i+1;{берем очередной номер}
b:=Fib(i);{вычисляем число}
c:=1;{пока цифра одна}
n:=10;{основание десятичной системы счисления}
while b div n<>0 do{пока число делится на 10}
begin
n:=n*10;{увеличиваем делитель 10, 100, 1000...}
c:=c+1;{считаем цифры в числе}
end;
s:=s+c;{считаем общее количество цифр}
write(b);{выводим ряд на экран}
end;
s:=s-c;{вычитаем количество цифр последнего числа, становимся перед заданным номером, или на нем}
n:=n div 10;{уменьшаем делитель в 10 раз}
while s<>k do{пока количество цифр в ряду не равно заданному номеру}
begin
a:=b div n mod 10;{отделяем по 1 цифре от последнего числа и запоминаем ее}
n:=n div 10;{уменьшаем делитель}
s:=s+1;{добавляем длину на 1, пока не придем обратно в заданный номер}
end;
writeln;
write('Zadannaia cifra=',a);{выводим цифру на позиции заданного номера}
readln;
end.