Строка из натуральных чисел - QBasic
Формулировка задачи:
Дана строка построенная из последовательных натуральных
чисел от 1 до 4027 (12345678910111213141516171819 ... 4027)
написать программу, которая запрашивает номер цифры
этой строки и выдает эту цифру на экран
для справки:
длина такой строки равна 15001 цифр.
Решение задачи: «Строка из натуральных чисел»
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.
Объяснение кода листинга программы
В этом коде используется язык программирования QBasic.
- Переменная
nинициализируется значением 21. - Переменная
iинициализируется значением 1. - В цикле
repeatпроисходит следующее: a. Переменнаяsполучает значение строки, представляющей числоi. b. Длина строкиsвычитается из значения переменнойn. c. Значение переменнойiувеличивается на 1. - Цикл повторяется до тех пор, пока значение переменной
nне станет меньше или равным нулю. - В конце программы выводится значение переменной
sс дополнительнымnсимволами, гдеn- это отрицательное значение переменнойn. Таким образом, этот код генерирует строку натуральных чисел от 1 до 20 и выводит последний символ этой строки с отрицательным знаком.