Строка из натуральных чисел - 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
Решение задачи: «Строка из натуральных чисел»
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 и выводит последний символ этой строки с отрицательным знаком.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д