Протягом 6 років я мав на своєму веб-сайті сторінку генератора випадкових чисел . Тривалий час це був перший або другий результат в Google для "генератора випадкових чисел", і він використовувався для вирішення десятків, якщо не сотень конкурсів та розіграшів на дискусійних форумах і блогах (я знаю, тому що я бачу рефератів у своїх веб-журнали і зазвичай переглядайте).
Сьогодні хтось мені по електронній пошті сказав, що це може бути не так випадково, як я думав. Вона спробувала генерувати дуже великі випадкові числа (наприклад, від 1 до 10000000000000000000) і виявила, що вони майже завжди мають однакову кількість цифр. Дійсно, я завернув цю функцію в циклі, щоб я міг генерувати тисячі чисел і, безумовно, для дуже великих чисел варіація становила лише близько 2 порядків.
Чому?
Ось циклічна версія, тож ви можете спробувати її самі:
http://andrew.hedges.name/experiment/random/randomness.html
Це включає як просту реалізацію, взятою з Мережі розробників Mozilla, так і деякий код від 1997 року, який я видалив з веб-сторінки, яка вже не існує («Central Randomizer 1.3» Пола Хоула). Перегляньте джерело, щоб побачити, як працює кожен метод.
Я читав тут і в інших місцях про Мерсенн Твістер. Мене цікавить те, чому не було б більшої різниці в результатах вбудованої функції Math.random JavaScript . Дякую!
