Сгенерировать 4-х значное число без повторяющихся в нем цифр - Turbo Pascal

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

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

Например 1234 или 4387. Но нельзя 3454 или 7666.
у меня была такая мысль. задать массив с цифрами от 0 до 9. и потом просто рандомно брать четыре элемента оттуда . Если поможете реализовать буду очень благодарен

Решение задачи: «Сгенерировать 4-х значное число без повторяющихся в нем цифр»

textual
Листинг программы
var
  a:set of 0..9;
  b,c:integer;
begin
  randomize;
  a:=[];
  b:=0;
  repeat
    repeat
      c:=random(10);
    until not(c in a);
    b:=b*10+c;
    a:=a+[c];
  until b>1000;
  writeln('result:=',b);
end.

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

В данном коде используется язык программирования Turbo Pascal. Задача состоит в генерации 4-х значного числа без повторяющихся в нем цифр.

  1. Объявляются переменные:
    • a: set of 0..9 (множество) для хранения уже использованных цифр;
    • b, c: integer для хранения текущего числа и текущей генерируемой цифры соответственно.
  2. В начале работы программы случайным образом инициализируется начальное значение для переменной b (с помощью функции randomize и random(10)).
  3. Процесс генерации числа начинается с пустого множества a и с b равным 0.
  4. Используется два вложенных цикла repeat-until:
    • внешний цикл повторяется до тех пор, пока значение b не станет больше 1000;
    • внутренний цикл повторяется до тех пор, пока не будет найдена не использованная ранее цифра (т.е. до тех пор, пока значение c не будет равно 0).
  5. Внутри внутреннего цикла:
    • генерируется случайное число от 0 до 9 с помощью функции random(10);
    • проверяется, что это число еще не было использовано (не содержится в множестве a);
    • если число не было использовано, оно добавляется в множество a и умножает текущее значение b на 10 (для получения следующего разряда числа), а затем к результату прибавляется само число.
  6. После завершения внутреннего цикла, значение b выводится на экран с помощью функции writeln. Таким образом, данный код генерирует случайное 4-х значное число без повторяющихся цифр.

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


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

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

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