如果您搜索创建种子式(伪)随机数生成器的示例,则会遇到类似以下内容(特定示例http://indiegamr.com/generate-repeatable-random-numbers-in-js/):
// the initial seed
Math.seed = 6;
// in order to work 'Math.seed' must NOT be undefined,
// so in any case, you HAVE to provide a Math.seed
Math.seededRandom = function(max, min) {
max = max || 1;
min = min || 0;
Math.seed = (Math.seed * 9301 + 49297) % 233280;
var rnd = Math.seed / 233280;
return min + rnd * (max - min);
}
这些特定的编号(9301、49297、233280)和算法一再使用,但似乎没有人对此有确切的参考。谁发明了这种算法并测试了分布?是否有论文或要引用的东西?
5
它是线性一致发生器,但周期很小(仅233k,而32位int允许有40亿周期)
—
棘轮怪胎
人们通常直接从书本中复制代码,因此它可能是从某处的旧书中复制的。这似乎也是一个限制条件。也许有所帮助:heydari.persiangig.com/Ebooks/Applied_Crypto-Ch11-ch20.pdf/... ict.griffith.edu.au/anthony/info/C/RandomNumbers
—
barrycarter