Random 为每天生成一个范围内的随机整数

Random 为每天生成一个范围内的随机整数,random,Random,我正在编写一个应用程序,其中每天都需要一个范围内的持久随机整数。数字应该是不同的,但每一天都是持续的。输出应该尽可能一致,但分发质量不一定是最好的。对于这个问题,我更喜欢一个简单且“足够好”的解决方案 我可以使用什么样的算法 输入:当前日期(例如,一个整数表示自某个历元起的天数) 输出:X和Y之间的随机整数 多谢各位 编辑:我正在使用的平台没有种子PRNG实现。算法: 当前日期的种子RNG 生成一个随机数 模y,加x 如果你想要统一的概率,用更智能的算法来代替第三步 编辑:好的,您没有PRNG。

我正在编写一个应用程序,其中每天都需要一个范围内的持久随机整数。数字应该是不同的,但每一天都是持续的。输出应该尽可能一致,但分发质量不一定是最好的。对于这个问题,我更喜欢一个简单且“足够好”的解决方案

我可以使用什么样的算法

输入:当前日期(例如,一个整数表示自某个历元起的天数) 输出:X和Y之间的随机整数

多谢各位

编辑:我正在使用的平台没有种子PRNG实现。

算法:

  • 当前日期的种子RNG
  • 生成一个随机数
  • 模y,加x
  • 如果你想要统一的概率,用更智能的算法来代替第三步


    编辑:好的,您没有PRNG。然后,您可能希望对当前日期应用一些哈希算法,并将其视为随机数。

    我不确定您是想自己编写算法,还是只需要一个编程解决方案

    对于后者,您可以使用以下内容:

    new Random((DateTime.Today - new DateTime(1970,1,1)).Days)
        .Next(min, max)
    
    这是在C#中,但你明白了:

    • 使用固定的开始日期
    • 数一数从那以后的日子
    • 将该天数用作随机数生成器的
      种子
    • 使用一个实用函数获取一个界限内的数字,例如

    谢谢,我应该补充说,据我所知,我工作的平台没有本机种子PRNG。@rokit:那么你可能想对当前日期应用哈希算法,并将其视为随机数。@rokit:你能将我工作的平台没有本机种子PRNG的信息
    添加到让世界其他地方知道的原始问题?谢谢:-)