Найти количество разных цифр в числе произвольной длины - QBasic
Формулировка задачи:
Задано число произвольной длины.
Надо сосчитать в нем число разных цифр.
Это программа (мечта программиста) работает круто.
Листинг программы
- CLS
- DIM S AS STRING
- DIM p AS STRING
- DIM o AS STRING
- S = "69573384757755"
- p = "1234567890"
- FOR i = 1 TO 10
- o = MID$(p, i, 1)
- k = INSTR(S, o)
- IF k THEN n = n + 1
- NEXT i
- PRINT "N ="; n
- END
Решение задачи: «Найти количество разных цифр в числе произвольной длины»
textual
Листинг программы
- CLS
- DIM s AS STRING
- s = "69573384757755"
- FOR i = 0 TO 9
- n = n - (INSTR(s, CHR$(i + 48)) > 0)
- NEXT i
- PRINT n
- END
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Установка переменной
s
равной строке69573384757755
. - Создание переменной
i
и установка её значения равным 0. - Создание переменной
n
и установка её значения равным 10 (предполагается, что в числе произвольной длины будет максимум 10 цифр). - Запуск цикла
FOR
от 0 до 9 (для проверки каждой цифры от 0 до 9). - Внутри цикла выполняется следующее:
5.1. Выражение
INSTR(s, CHR$(i + 48))
используется для поиска в строкеs
цифры, чей код в таблице символов соответствует значению переменнойi
(значение переменнойi
увеличивается на 48 для получения соответствующего кода цифры от 0 до 9). 5.2. Если выражениеINSTR(s, CHR$(i + 48))
больше 0, то это означает, что в строкеs
есть цифра, чей код соответствует значению переменнойi
, и в этом случае значение переменнойn
уменьшается на 1 (предполагается, что каждая цифра встречается в числе только один раз). - Цикл завершается, и значение переменной
n
выводится на экран с помощью командыPRINT
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д