Строка из натуральных чисел - QBasic

Формулировка задачи:

Дана строка построенная из последовательных натуральных чисел от 1 до 4027 (12345678910111213141516171819 ... 4027) написать программу, которая запрашивает номер цифры этой строки и выдает эту цифру на экран для справки: длина такой строки равна 15001 цифр.
REM
REM  Строка 12345678910111213141516 ... 4027
REM  (длина 15001 цифр)
REM
 
DECLARE FUNCTION STO$ (n!)
DECLARE FUNCTION M$ (n!)
 
CLS
DIM SHARED s AS STRING
 
FOR i = 1 TO 4027
   s = s + STO(i)
NEXT
 
DO
   INPUT "N = "; n
LOOP UNTIL n <= 15001
 
PRINT M(n)
END
 
FUNCTION M$ (n)
   M = MID$(s, n, 1)
END FUNCTION
 
FUNCTION STO$ (n)
   STO = LTRIM$(STR$(n))
END FUNCTION

Код к задаче: «Строка из натуральных чисел - QBasic»

textual
uses sysutils;
 
var
  s : string;
  i, n : integer;
 
begin
  n := 21;
  i := 1;
  repeat
    s := inttostr(i);
    n := n - length(s);
    inc(i);
  until n <= 0;
  writeln('digit = ', copy(s, length(s) + n, 1));
end.

13   голосов, оценка 4.231 из 5


СОХРАНИТЬ ССЫЛКУ