我正在寫一個應用程序,我需要每天範圍內的一個持久隨機整數。這個數字應該是不同的,但對於每一天都是持久的。產量應儘可能一致,但分銷質量不一定是最好的。我更喜歡這個問題的簡單和「足夠好」的解決方案。每天在一個範圍內生成一個隨機整數
我可以使用什麼樣的算法?
輸入:當天(例如,一個整數,表示日以來,一些劃時代) 輸出: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