我正在写一个应用程序,我需要每天范围内的一个持久随机整数。这个数字应该是不同的,但对于每一天都是持久的。产量应尽可能一致,但分销质量不一定是最好的。我更喜欢这个问题的简单和“足够好”的解决方案。每天在一个范围内生成一个随机整数
我可以使用什么样的算法?
输入:当天(例如,一个整数,表示日以来,一些划时代) 输出:X和Y
之间的随机整数谢谢。
编辑:我工作的平台没有种子PRNG实施。
我正在写一个应用程序,我需要每天范围内的一个持久随机整数。这个数字应该是不同的,但对于每一天都是持久的。产量应尽可能一致,但分销质量不一定是最好的。我更喜欢这个问题的简单和“足够好”的解决方案。每天在一个范围内生成一个随机整数
我可以使用什么样的算法?
输入:当天(例如,一个整数,表示日以来,一些划时代) 输出:X和Y
之间的随机整数谢谢。
编辑:我工作的平台没有种子PRNG实施。
算法:
使用更智能的算法,如果更换第三步你想要一致的概率。
编辑:好的,你没有PRNG。然后,您可能想要将一些哈希算法应用到当前日期并将其视为一个随机数。
我不确定您是要自己编写算法还是只需要编程解决方案。
对于后者,你可以沿着这些线路使用的东西:
new Random((DateTime.Today - new DateTime(1970,1,1)).Days)
.Next(min, max)
这是在C#中,但你的想法:
seed
用于随机数发生器
谢谢,我应该补充说,据我所知,我工作的平台没有原生种子PRNG。 – rokit
@rokit:那么你可能希望将散列算法应用到当前日期,并将其视为一个随机数。 –
@rokit:您能否添加那条信息“我工作的平台没有原生种子PRNG”来解决世界其他地区的原始问题?谢谢:-) – Oliver