Я хочу взять набор из 4 миллиардов положительных целых чисел и вывести их в псевдослучайной последовательности, чтобы число не повторялось до тех пор, пока не будут выведены все 4 миллиарда. Я хочу, чтобы эта последовательность была повторяемой и предсказуемой для данного семени. Есть ли хороший алгоритм для создания такой последовательности, не прибегая к помещению упорядоченной последовательности в память, а затем выполняя псевдослучайную операцию сортировки по всему предмету? Случайность может быть очень слабой, если это облегчает ситуацию. БлагодаряГенерация псевдослучайных неповторяющихся целых чисел из 32-битного конечного набора
3
A
ответ
1
Вы можете использовать простой линейный конгруэнтный генератор с соответствующими значениями для a (= 214013)
, c (= 2531011)
, m (= 2^32)
сделать это полный период.
X(n+1) = (a*X(n) + c) mod m
Это произведет все 2^32 значений без замены и повторите ту же последовательность после этого.
Смежные вопросы
- 1. Basic C++ Генерация псевдослучайных чисел
- 2. Scala/Java: создание набора неповторяющихся случайных чисел
- 3. Генерация значений семян для генераторов псевдослучайных чисел
- 4. Создание пар целых чисел из конечного набора без дупликатов Пары
- 5. Детерминированная генерация псевдослучайных чисел в R
- 6. Генерация Равномерно распределенные псевдослучайных чисел в C++
- 7. Как создать идентичную последовательность псевдослучайных целых чисел?
- 8. шифрованного набора целых чисел
- 9. генерация псевдослучайных чисел из усеченного нормального распределения в FORTRAN
- 10. Генерация целых чисел в Haskell
- 11. генерация псевдослучайных URL-адресов
- 12. Генератор псевдослучайных случайных чисел
- 13. Создание неповторяющихся случайных чисел
- 14. Комбинации ограниченного набора целых чисел
- 15. Создание и печать массива неповторяющихся целых чисел - Java
- 16. Множественная генерация псевдослучайных чисел в аппаратном обеспечении (Verilog или VHDL)
- 17. Определение и генерация генератора псевдослучайных чисел с глобальной областью (C++)
- 18. Эффективное генерирование псевдослучайных целых чисел с изменением интервала
- 19. Соответствие неповторяющихся слов из набора с разделителем
- 20. Генерация случайных целых чисел с заданными вероятностями
- 21. Не повторяющийся поток псевдослучайных чисел с «clumping»
- 22. PHP - Генерация случайных целых чисел в указанном диапазоне от ключа
- 23. Генерация целых чисел в порядке возрастания с использованием набора простых чисел
- 24. Генератор псевдослучайных чисел
- 25. Проект генератора псевдослучайных чисел
- 26. Генератор псевдослучайных чисел Фибоначчи
- 27. Случайный набор неповторяющихся чисел в Javascript
- 28. Создание набора псевдослучайных чисел, удовлетворяющих следующему xor-свойству?
- 29. Android - Создание неповторяющихся случайных чисел
- 30. Найти максимальное подмножество огромного набора целых чисел
Является ли 'return i ++' слишком слабым? ;-) – assylias
Вы можете использовать ответные слова assylias, а затем xor выход с фиксированным значением (семя). –
Вы должны иметь возможность использовать побитовые операторы в определенной последовательности для создания, казалось бы, случайного шаблона, но на самом деле совершенно неслучайный. Я бы ожидал, что некоторые рекурсии также будут задействованы. – Scottie