Pascal
Modified: Wednesday, 22-12-2021 07:00 AM
Cho dãy số được tạo bởi các số tự nhiên liên tiếp:
'123456789101112...'
Tìm số ở vị trí thứ N trong dãy số trên.
Ví dụ:
N=5 => Kq: 5
N=10 => Kq: 1
N=54 => Kq: 3
var st: string;
j,n,d,x: int64;
i: integer;
begin
write('Nhap n: ');readln(n);
i:=1; j:=1; d:=9; x:=0;
while (n > d) do
begin
n:=n-d;
x:=x+d div i;
j:=j*10;
i:=i+1;
d:=j*9*i;
end;
x:=x+(n div i);
if n mod i>0 then
begin
x:=x+1;
i:=n mod i;
end;
str(x,st);
write('Ket qua: ',st[i]);
readln
end.