В заданном интервале найти все числа, в записи которых отсутствуют хотя бы 2 одинаковые цифры - Free Pascal

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

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

На заданном числовом промежутке требуется найти все числа, в десятичной записи которых отсутствуют хотя бы две одинаковые цифры.

Решение задачи: «В заданном интервале найти все числа, в записи которых отсутствуют хотя бы 2 одинаковые цифры»

textual
Листинг программы
var
  s:set of byte;
  a,b,t:int64;
  k:byte;
  ok,ok1:boolean;
begin
  repeat
    write('введите границы числового промежутка:');
    readln(a,b);
  until a<b;
  ok1:=false;
  repeat
    t:=abs(a);
    ok:=true;s:=[];
    while t>0 do begin
      k:=t mod 10;
      t:=t div 10;
      if k in s then begin
        ok:=false;
        break;
      end else include(s,k);
    end;
    if ok then begin
      writeln(a);
      ok1:=true;
    end;
    a:=a+1;
  until a>b;
  if not ok1 then writeln('Нет чисел удовлетворяющих условию');
readln;
end.

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

  1. Переменная s инициализируется как пустое множество (set of byte).
  2. Пользователю предлагается ввести границы числового промежутка (переменные a и b).
  3. Пока a меньше b, выполняется следующий блок кода.
  4. Переменная t инициализируется как абсолютное значение a.
  5. Переменная ok инициализируется как true, а переменная s как пустое множество.
  6. Пока t больше 0, выполняется следующий блок кода.
  7. Переменная k инициализируется как остаток от деления t на 10.
  8. t делится на 10 и уменьшается на 10.
  9. Если k уже присутствует в множестве s, то значение переменной ok меняется на false, и цикл прерывается.
  10. Если k не присутствует в множестве s, то оно добавляется в множество s.
  11. После цикла, если значение переменной ok равно true, то число a выводится на экран, и переменная ok1 инициализируется как true.
  12. a увеличивается на 1, и цикл повторяется до тех пор, пока a меньше b.
  13. Если после выполнения всего цикла значение переменной ok1 остается равным false, то выводится сообщение Нет чисел, удовлетворяющих условию.

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


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

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

7   голосов , оценка 4.143 из 5
Похожие ответы