python源代码中冲突解决公式的一个谜题
我很抱歉在这里问这样的问题,尽管它看起来有点像数学问题 以下冲突解决公式出现在python源代码中,\pythoncore\Objects\dictobject.cpython源代码中冲突解决公式的一个谜题,python,Python,我很抱歉在这里问这样的问题,尽管它看起来有点像数学问题 以下冲突解决公式出现在python源代码中,\pythoncore\Objects\dictobject.c j = ((5*j) + 1) mod 2**i 对于范围(2*i)内的任何初始j,此公式的简要说明为,重复2*i次可生成每个值 整数在范围(2*i)内正好一次。在一个 这个例子太小了,不能完全清楚地说明这一点 大小2*3索引的顺序为: 0 -> 1 -> 6 -> 7 -> 4 -> 5 ->
j = ((5*j) + 1) mod 2**i
对于范围(2*i)内的任何初始j,此公式的简要说明为,重复2*i次可生成每个值
整数在范围(2*i)内正好一次。在一个
这个例子太小了,不能完全清楚地说明这一点
大小2*3索引的顺序为:
0 -> 1 -> 6 -> 7 -> 4 -> 5 -> 2 -> 3 -> 0 [and here it's repeating]
我的问题是如何证明这种公式的正确性。您所指的注释包含说明 有关证明,请参阅随机数生成的任何文本 如果你搜索一下,你会发现
5*j+1 mod 2**i
循环是一个错误。线性同余生成器的形式为
x_(n+1) = a*x_n + c (mod m)
对于非零c,线性同余生成器具有全周期(生成所有数mod m)当且仅当
5*j+1 mod 2**i
,因此循环将遍历哈希表中的所有条目
可以找到赫尔-多贝尔定理的完整证明。您所指的注释包含说明 有关证明,请参阅随机数生成的任何文本 如果你搜索一下,你会发现
5*j+1 mod 2**i
循环是一个错误。线性同余生成器的形式为
x_(n+1) = a*x_n + c (mod m)
对于非零c,线性同余生成器具有全周期(生成所有数mod m)当且仅当
5*j+1 mod 2**i
,因此循环将遍历哈希表中的所有条目
可以找到赫尔-多贝尔定理的完整证明。也许你应该在math.stackexchange.com上发布这篇文章