生成 “随机” 数是相同的javascript每次(即种子随机数)
可能重复:
How to create my own JavaScript Random Number generator that I can also set the seed生成 “随机” 数是相同的javascript每次(即种子随机数)
所以,如果我有这样的功能:
function randArr(count, low, high) {
var result = [];
for (var i=0; i<count; i++) {
result.push(seededRand(low, high));
}
return result;
}
我每次打电话randArr(5, 1, 100)
我会得到相同的数组,例如[54, 23, 1, 9, 15]
。
更新:我认为这是一个dupe,但由于评论者似乎困惑,问题是,如何编写seededRand()
?
你需要实现一个随机数发生器,你可以在其中开始设置种子。
我不久前在ActionScript中需要这样做,并且我使用了Blum Blum Shub,因为它很容易实现。实施mersene twister也应该是可能的,并且应该给出“更好的随机”结果。
Blum Blum Shub非常好,但它的处理成本更高一些。 Mersenne Twister算法大部分通过乘法运算来进行播种。如果你打算使用Mersenne Twister来播种一个javascript rand()函数,为什么不首先使用它呢?对于简单的应用,我认为可以乘载发电机就足够了。 – LostInTheCode 2010-11-07 16:49:37
你想要seededRand功能?
你可以自己实现一个伪随机数函数。
我用Google搜索“的JavaScript Mersenne扭曲”和例如找到了这个网页: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/VERSIONS/JAVASCRIPT/java-script.html
如果是你,你可以使用许可证服。
而你的问题是? – Oded 2010-11-07 13:43:55
我们可以看到'seededRand'函数吗? – 2010-11-07 13:44:21
强制性卡通回复问题标题:http://www.hutter1.net/private/random.gif – 2010-11-07 13:44:32