背景:如果您种植您的prng,它将打印出相同的随机序列。所以,如果我告诉你,我使用了种子123,我得到了1,5,2,4。然后,你可以使用种子123并获得1,5,2,4。保持会话持续时间的随机种子
我想做什么在最简单的情况下......我制作一个网页,让您输入种子。然后,它会显示一个随机数和一个“下一个”链接。您点击下一个链接并获取下一个随机数。问题是单击“下一个”时访问的页面与上一页没有任何关系。所以,它不是基于输入的种子。
我想要做什么,而且我显然忽略了一些东西,就是在会议期间保持种子。我可以播种第一个随机数的兰特。然后,我需要将更新的种子存储在会话中,以便下次用户出现时我可以选择适当的下一个种子。是否有与srand相反的?我不想种下兰特。我想获得所需的值,以使其在当前状态下开始下一次加载。
保持种子值和会话计数:对每个请求,播种PRNG,然后生成随机数达数,并且将它们丢弃....产生下一个随机数,并增加计数 –
@MarkBaker - 可能是唯一的方法;否则,PRNGS通常不会公开内部必需的内容。这个,或者写下你自己的,但我不确定是否有任何知名的实现甚至有中间种子的概念... –
嗯...看起来像[线性同余发生器](https:// en.wikipedia.org/wiki/Linear_congruential_generator)做你想做的,但你可能必须自己实现它。 –