Автор Влада Торгонская задал вопрос в разделе Другие языки и технологии
Генерация случайных чисел без повторений в 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 раза - вот мое стандартное размешивание в разных прогах
Я делаю проще, генерирую эти числа от 1 до 52 по порядку, как понял это калода карт и потом случайным образом меняю 1 с случайным числом от 1 до 52 которое есть позиция куда пишу.
Вот такой цикл и обязательно его прогоняю 2 раза - вот мое стандартное размешивание в разных прогах
Ответ от Александр Бабушкин[гуру]
Даёт псевдослучайную последовательность, которая повторяется через 2^n. В зависимости от точек подключения, например: точки 16,14,13,11 дают последовательность, которая повторяется через 2^16.
Даёт псевдослучайную последовательность, которая повторяется через 2^n. В зависимости от точек подключения, например: точки 16,14,13,11 дают последовательность, которая повторяется через 2^16.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Генерация случайных чисел без повторений в Delphi
спросили в Randomness
Как получить случайное число к примеру от 10 до 100 в Visual Basic 6.0?
Случайное число = Rnd * 90 + 10
Если только целое = Int (Rnd * 90 +
подробнее...
Как получить случайное число к примеру от 10 до 100 в Visual Basic 6.0?
Случайное число = Rnd * 90 + 10
Если только целое = Int (Rnd * 90 +
подробнее...