Проверить, будут ли все цифры числа различными - 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
. Если да, выводится сообщениеВ числе все цифры разные
, в противном случаеВ числе не все цифры разные
. - Программа ждет нажатия клавиши, чтобы завершить выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д