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