Описать процедуру, которая вычисляет количество разных цифр в десятичной записи числа - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста, очень нужно!!!
Описать процедуру, которая вычисляет количество разных цыфр в десятичной записи числа и выводит эти цифры.
Решение задачи: «Описать процедуру, которая вычисляет количество разных цифр в десятичной записи числа»
textual
Листинг программы
uses crt; procedure razn(n:longint); var i,k:byte; m:set of byte; begin n:=abs(n); if n=0 then begin m:=[0]; k:=1; end else begin m:=[]; k:=0; while n>0 do begin if not(n mod 10 in m)then begin k:=k+1; m:=m+[n mod 10] end; n:=n div 10 end; end; writeln('Разных цифр=',k); writeln('Это цифры'); for i:=0 to 9 do if i in m then write(' ',i); end; var n:longint; begin clrscr; write('Введите целое число n='); readln(n); razn(n); readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая содержит функции для работы с регистрами и переменной типа set of byte.
- Создается процедура razn, которая принимает один параметр n типа longint.
- Внутри процедуры объявляются три переменные: i, k и m типа byte. Переменная m инициализируется как пустое множество (set of byte), а переменная k инициализируется как 0.
- Если n равно 0, то переменная m инициализируется как [0], а переменная k инициализируется как 1. Это будет использоваться для отслеживания количества цифр в числе.
- В противном случае переменная m инициализируется как пустое множество, а переменная k инициализируется как 0. Это будет использоваться для отслеживания количества цифр в числе.
- Затем начинается цикл while, который выполняется до тех пор, пока n больше 0.
- Внутри цикла проверяется, является ли текущая цифра (n mod 10) уникальной в множестве m. Если нет, то переменная k увеличивается на 1, а переменная m обновляется, добавляя текущую цифру.
- После этого значение n делится на 10, и цикл повторяется.
- По завершении цикла выводится сообщение о количестве разных цифр в числе.
- Затем выводится сообщение
Это цифры
, и для каждой цифры от 0 до 9, если она присутствует в множестве m, выводится пробел и цифра. - Код завершается, и на экран выводится результат выполнения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д