генератор случайных чисел без повторений



Автор Влада Торгонская задал вопрос в разделе Другие языки и технологии

Генерация случайных чисел без повторений в Delphi и получил лучший ответ

Ответ от Иван Сигаев[гуру]
Делаешь двумерный массив [1..52,1..2]
в одну часть заносишь значения без повторений [1,1]=1 [2,1]=2 [3,1=3]....[52,1]=52
во вторую случайные [1..52,2]=rnd
потом сортируешь по второй части и берешь числа по порядку из первой - повторений не будет
ну или воспользуйся формулой вычисления случайного числа
x=(53*x+17)%52 - получишь последовательность псевдослучайных чисел с периодом повторения 52 и значениями от 0 до 51

Ответ от Kaiu[гуру]
Я делаю проще, генерирую эти числа от 1 до 52 по порядку, как понял это калода карт и потом случайным образом меняю 1 с случайным числом от 1 до 52 которое есть позиция куда пишу.
Вот такой цикл и обязательно его прогоняю 2 раза - вот мое стандартное размешивание в разных прогах

Ответ от Александр Бабушкин[гуру]
Даёт псевдослучайную последовательность, которая повторяется через 2^n. В зависимости от точек подключения, например: точки 16,14,13,11 дают последовательность, которая повторяется через 2^16.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Генерация случайных чисел без повторений в Delphi
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*