我希望在 C++中实现一个随机预言机。本质上,只是一个函数 f: {1,...,n} -> [0,1],因此对于 {1, ..., n} 中的每个输入 i,输出 f(i) 是随机的[0,1] 中的值。但重要的是的是,每次调用 f(i) 都应该返回相同的值。
换句话说,我想要一个非常大的表 f,其中包含 [0,1] 中由整数索引的独立且相同分布的随机变量。当然,我不想预先计算表并存储它。相反,我希望这个表可以即时实现。你给出输入 i,你从表 f(i) 中得到值。
实施它的最佳方法是什么?一种可能性是使用输入整数 i 本身作为随机数生成器的种子。那么 f(i) 将是用 i 作为种子生成的随机数。这够好吗?谢谢!
(此问题已根据有用的评论进行了编辑。)