Giúp mik với ạ........ Giải thích sẵn viết code giúp mik với!!!!!!!!!!!!!! Dãy các số tự nhiên được viết ra thành một dãy vô hạn trên đường thẳng: 1234567891011121314..... (1) Yêu cầu: Cho biết số nguyên dương K và tìm số nằm ở vị trí thứ K trong dãy (1) ở trên và số đó thuộc vào số nào? TIMSO.INP TIMSO.OUT 15 2 12 150 8 80

2 câu trả lời

uses crt;
var d:text; i,m,n:longint; s:string;
begin
clrscr;
   assign(d,'input.pas');reset(d);
      readln(d,n);
   close(d);
   assign(d,'output.pas');rewrite(d);
      repeat
         inc(i);
         str(i,s);
         inc(m,length(s));
      until m>=n;
      writeln(s[abs(n-(m-length(s)))]);
      writeln(s);
   close(d);
readln
end.

/////////////////////

Thuật toán:

Ta chạy cho đến khi độ dài của dãy (1) >= n.

Trong khi đó ta tăng i lên và đổi i thành xâu s, m sẽ tăng lên m+length(s);

Sau khi repeat xong ta xuất phần tử s làm tròn n-(m-length(s))!

uses crt;
var d:text; i,m,n:longint; s:string;
begin
clrscr;
      assign(d,'input.pas');reset(d);
      readln(d,n);
      close(d);
      assign(d,'output.pas');rewrite(d);
      repeat
      inc(i);
      str(i,s);
      inc(m,length(s));
      until m>=n;
      writeln(s[abs(n-(m-length(s)))]);
      writeln(s);
      close(d);
readln
end.

Câu hỏi trong lớp Xem thêm