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: 12

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

0 bình luận về “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: 12”

  1. 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.

    Bình luận
  2. 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))!

    Bình luận

Viết một bình luận