我正在构建一个用于哈希的伪随机数生成器。我需要使用的算法如下:
到目前为止,这是我所拥有的,适用于大小为2^n的表,但如何更改它,使它可以容纳任何大小的表?在
def rand(size,i)
n = math.log(size,2)
r = 1
random_list = []
mask = (1 << 2+int(n)) - 1
for n in range(1,size+1):
r = r*5
r &= mask
p = r/4
random_list = random_list + [p]
if i == 0: return random_list
else: return random_list[i-1]
我真的不明白你的代码和你的算法(什么是随机列表?)或者说代码应该如何构造,但我假设它与此类似:
在这种情况下,为了使它与任何大小的表一起工作,类变为:
^{pr2}$一个简单的测试证明,当表格大小相同时,结果是相同的:
但是,就像我说的,我真的不明白你的代码和你的算法有什么关系。我猜TL太长了,读不下去了,这里用的是模算子。在
相关问题 更多 >
编程相关推荐