Генерация очень-очень больших случайных чисел

Как бы вы сгенерировали очень-очень большое случайное число? Я думаю о порядке 2 ^ 10 ^ 9 (один миллиард бит). Любой язык программирования - я предполагаю, что решение будет переведено на другие языки.

Я хотел бы, чтобы на [1, N] было равномерное распределение.

Мои первоначальные мысли:

- Вы можете случайным образом генерировать каждую цифру и объединить. Проблема: даже очень хорошие генераторы псевдослучайных случаев могут создавать шаблоны с миллионами цифр, верно?

  • Возможно, вы могли бы помочь создать большие случайные числа, возведя случайные числа в случайные степени. Проблема: вы должны заставить математику работать так, чтобы результирующее число оставалось случайным, и вы могли вычислить его за разумный промежуток времени (скажем, за час).

  • Если это поможет, вы можете попытаться сгенерировать возможно неравномерное распределение в возможно меньшем диапазоне (например, с использованием действительных чисел) и преобразование. Проблема: это может быть не менее сложно.

Есть идеи?

6
задан tshepang 4 May 2014 в 07:28
поделиться