2010-11-07 165 views
2

可能重复:
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()

+1

而你的问题是? – Oded 2010-11-07 13:43:55

+0

我们可以看到'seededRand'函数吗? – 2010-11-07 13:44:21

+3

强制性卡通回复问题标题:http://www.hutter1.net/private/random.gif – 2010-11-07 13:44:32

回答

1

你需要实现一个随机数发生器,你可以在其中开始设置种子。

我不久前在ActionScript中需要这样做,并且我使用了Blum Blum Shub,因为它很容易实现。实施mersene twister也应该是可能的,并且应该给出“更好的随机”结果。

+1

Blum Blum Shub非常好,但它的处理成本更高一些。 Mersenne Twister算法大部分通过乘法运算来进行播种。如果你打算使用Mersenne Twister来播种一个javascript rand()函数,为什么不首先使用它呢?对于简单的应用,我认为可以乘载发电机就足够了。 – LostInTheCode 2010-11-07 16:49:37