
一般种子可以以当前的系统时间,这是完全随机的
。
算法1:平方取中法。
1)将种子设为X0,并mod 10000得到4位数
2)将它平方得到一个8位数(不足8位时前面补0)
3)取中间的4位数可得到下一个4位随机数X1
4)重复1-3步,即可产生多个随机数
这个算法的一个主要缺点是最终它会退化成0,不能继续产生随机数。
算法2:线性同余法
1)将种子设为X0,
2)用一个算法X(n+1)=(aX(n)+b) mod c产生X(n+1)
一般将c取得很大,可产生0到c-1之间的伪随机数
该算法的一个缺点是会出现循环。卡西欧品牌部分计算器可以做到。命令为RanInt#(3,8)。以卡西欧fx-991CN X为例,RanInt#命令需要ALPHA+按钮,然后依次按(,3,Shift+),8,),再不断按下=,即可生成随机数。可以直接使用CASIO
fx-991CN
X的RanInt#功能,这个功能就可以根据设定的(a,b)范围内,生成一个随机整数。而且 *** 作也非常简单,例如,按ALPHA
+
+(RanInt)+1+SHIFT+)+(,)+6+),即代表在(1,6)区间生成随机数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)