【发布时间】:2014-06-29 23:54:43
【问题描述】:
翻阅我的3卷TAOCP我找不到短随机序列的来源:
// Seed always in 1..0x10000
Seed = (Seed * const) % 0x10001
还有一个算法,可能还有一个 MIX 程序来验证 const,以便返回所有 2^16 个值。至少那是我记得的。同样在相同的一般领域中,上述递归有效,因为 (2^16)+1 是素数,但是,(2^32)+1 和 (2^64)-1 都不是素数。
FWIW,将 const 替换为 iconst = 1/const (mod 0x10001) 以相反的顺序生成序列。 IE。 const*iconst%0x10001 = 1
【问题讨论】:
-
那么你的问题是什么?
-
问题是:这个随机递归记录在哪里?验证完整 2^16 序列的“const”的算法是什么。