Напишите программу по выдаче рандомных чисел, содержащих от 1 до 5

Напишите программку по выдаче рандомных чисел, содержащих от 1 до 5 символов, состоящих из чисел от 1 до 12, так чтобы:
За цифрой 1 могли следовать только числа 4, 5, 7, 9, 10
За цифрой 2 - только 5, 6, 8, 10, 11
За цифрой 3 - только 6, 7, 9, 11, 12
За цифрой 4 - только 1, 7, 8, 10, 12
За цифрой 5 - только 1, 2, 8, 9, 11
За цифрой 6 - только 2, 3, 9, 10, 12
За цифрой 7 - только 1, 3, 4, 10, 11
За цифрой 8 - только 2, 4, 5, 11, 12
За цифрой 9 - только 1, 3, 5, 6, 12
За 10 - только 1, 2, 4, 6, 7
За 11 - только 2, 3, 5, 7, 8
За 12 - только 3, 4, 6, 8, 9

Примерные результаты программки:
1473, 21106, 112, 82

Задать свой вопрос
1 ответ

Для вас следовало бы более точно описать, что вам нужно.
Непонятно, что это за условие со следованием. В образце 21106 за цифрой 2 следует 11, но за 11 не следует ничего из перечисленного. Ну или в нем 10 следует за 1, но тогда для чего условия следования для 10..12?
+ ничего не сказано про случайное рассредотачивание этих чисел. Так-то программка, которая все время выводит "1", тоже подходит под эти условия


const
  R: array[1..12,1..5] of integer = (
  (4,5,7,9,10),   //1
  (5,6,8,10,11),  //2
  (6,7,9,11,12),  //3
  (1,7,8,10,12),  //4
  (1,2,8,9,11),   //5
  (2,3,9,10,12),  //6
  (1,3,4,10,11),  //7
  (2,4,5,11,12),  //8
  (1,3,5,6,12),   //9
  (1,2,4,6,7),    //10
  (2,3,5,7,8),    //11
  (3,4,6,8,9)     //12
  );

var i,k:integer;  
begin
  k := 1 + random(12);
  for i := 1 to 1 + random(3) do
    begin
    write(k);
    k := R[k,1 + random(5)];
    end;
end.
Денис Авустинович
Еще раз, равномерное оно не по количеству цифр, а по длине цепочки последующих друг за ином чисел
Veronika Golega
Не считая того, равномерное рассредотачивание по количеству цифр не будет равномерным по всем допустимым числам
Дарья Анашина
> "по длине цепочки последующих друг за другом чисел" - имелось в виду количество применений верховодил, по которым одни числа следуют за иными. Равномерность по нему обеспечивается строкой for i := 1 to 1 + random(3) do
Нелли Залара
Я во втором известьи написал "равномерное по количеству следований", а в пятом - "не по количеству цифр, а по длине цепочки последующих друг за приятелем чисел". Так что я вначале имел в виду именно количество применений управлял. Умышленно уточнил, что это не то же самое, что количество цифр в итоге.
Роман Киттель
Про любое рассредотачивание можно сказать, что оно неправильное. Если бы было равномерное рассредотачивание по количеству цифр (как вы, видимо предлагаете?), то, например, число 1 получалось бы почаще, чем 14.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт