种子随机数在JS中如何实现,有什么用

JavaScript024

种子随机数在JS中如何实现,有什么用,第1张

生成的伪随机数序列最大周期m,范围在0到m-1之间。要达到这个最大周期,必须满足:

1.c与m互质

2.a - 1可以被m的所有质因数整除

3.如果m是4的倍数,a - 1也必须是4的倍数

以上三条被称为Hull-Dobell定理。作为一个伪随机数生成器,周期不够大是不好意思混的,所以这是要求之一。因此才有了:a=9301, c = 49297, m = 233280这组参数,以上三条全部满足。

教你 定义一个数组 数组中每个元素就是你的种子。

然后随机数字。随机数的范围小于你数组的长度。

之后从你的数组中取第 N( 随机出来的数)个元素。

var mycars=new Array("Saab","Volvo","BMW","Saab1","Volvo1","BMW1")

var i=parseInt(Math.random()*0+5)

alert(mycars[i])

首先更正下是parseInt(Math.random()*7)返回0至6之间的任意一个整数。

其中Math.random()返回一个[0..1]的随机种子。parseInt为取整强制去除小数位与Math.floor()函数等价。所以也可以写成Math.floor(Math.random()*7)