Проверить, будут ли все цифры числа различными - Pascal

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число n. Проверить, будут ли все цифры числа различными.

Решение задачи: «Проверить, будут ли все цифры числа различными»

textual
Листинг программы
  1. uses crt;
  2. var n:longint;
  3.     k,p,t:byte;
  4.     m:set of byte;
  5. begin
  6. clrscr;
  7. write('n=');
  8. readln(n);
  9. m:=[];p:=0;t:=0;
  10. while n>0 do
  11.  begin
  12.   k:=n mod 10;
  13.   t:=t+1;
  14.   if not (k in m)then
  15.     begin
  16.      include(m,k);
  17.      p:=p+1;
  18.     end;
  19.   n:=n div 10;
  20.  end;
  21. if p=t then write('В числе все цифры разные')
  22. else write('В числе не все цифры разные');
  23. readln
  24. end.

Объяснение кода листинга программы

  1. Объявляется переменная n типа longint для хранения введенного числа.
  2. Объявляются переменные k, p и t типа byte для хранения цифры числа, количества уникальных цифр и количества цифр в числе соответственно.
  3. Объявляется множество m для хранения уникальных цифр.
  4. Очищается экран.
  5. Пользователю предлагается ввести число n.
  6. Инициализируется множество m пустым множеством, количество уникальных цифр p и количество цифр в числе t равны нулю.
  7. В цикле, пока n больше нуля, выполняются следующие действия:
    • Получается последняя цифра числа n и сохраняется в переменную k.
    • Увеличивается счетчик t на 1.
    • Если цифра k не содержится в множестве m, то
      • добавляется цифра k в множество m,
      • увеличивается счетчик p на 1.
    • Число n делится нацело на 10.
  8. После завершения цикла проверяется, равно ли количество уникальных цифр p количеству цифр в числе t. Если да, выводится сообщение В числе все цифры разные, в противном случае В числе не все цифры разные.
  9. Программа ждет нажатия клавиши, чтобы завершить выполнение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы