Вычислить псевдослучайное число по возрастающему значению - PullRequest
0 голосов
/ 05 августа 2020

Мне нужно вычислить псевдослучайное число в заданном диапазоне (например, 0–150) на основе другого, строго возрастающего числа. Есть ли математический способ решить эту проблему?

Мне дается одно число x, которое увеличивается на 1 каждый день. На основе этого числа мне нужно каким-то образом вычислить число в заданном диапазоне, которое кажется случайным.

У меня есть ощущение, что для этого есть простое математическое решение, но, к сожалению, я не смог найти это. Так что любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Один из разумных способов сделать это - набрать sh число x (либо его двоичное представление, либо в текстовой форме), а затем использовать ha sh для получения «случайного» числа. в желаемом диапазоне (скажем, взяв первые 32 бита ha sh и извлекая любым известным способом желаемое значение). Криптографию c ha sh можно использовать как Sha256, но в этом нет необходимости, возможно, для вашего приложения подходит MurmurHa sh.

0 голосов
/ 05 августа 2020

Обычно, когда вы генерируете случайное число, используется начальное значение, чтобы одна и та же последовательность псевдослучайных чисел не повторялась. Если начальное значение не указано явно, многие системы будут использовать время как начальное значение. Возможно, вы могли бы использовать x как семя. Вот статья, объясняющая раздачу: https://www.statisticshowto.com/random-seed-definition/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...