/CHUSO2 - Tìm chữ số

<Problem>

http://ntucoder.net/Problem/Details/4450
              Uses Crt;
        Var s:string; n,he_10,soluongso,sochuso:int64;
        Begin
            readln(n);
            he_10:=1;
            sochuso:=9;
            soluongso:=1;
            while sochuso<=n do
            begin
                inc(soluongso);
                he_10:=he_10*10;
                if sochuso+he_10*9*soluongso>=n then break
                else sochuso:=sochuso+he_10*9*soluongso;
            end;
            if n<=9 then writeln(n)
            else
        
            begin
                n:=n-sochuso;  // (soluongso<n)
                he_10:=he_10+n div soluongso;
                n:=n mod soluongso;
                if n=0 then begin dec(he_10); n:=soluongso; end;
                str(he_10,s);
                writeln(s[n]);
            end;
            readln;
        End.