伪随机数

线性同余法的伪随机数

橙三吉。 提交于 2019-11-29 10:29:38
学校练习,简单的我就不放上来了,值得整理的,我保存一下 习题 9 1.1. 伪随机数(线性同余法) 1.1.1.算法描述 我们使用线性同余法,来限定一些离散点在 y=a*x+b 上。 1.1.2. 伪代码 random(n,m,seed,a,b) // 根据现行同余法生成 n 个伪随机书的一个序列 // 输入 : 一个正整数 n 和正整数参数 m,seed,a,b // 输出 : 随机数组 r0<-seed for i<-1 to n do ri<-(a*ri-1+b) mod m end 1.1.3. 算法实现 public static long[] random(int n,int m,long seed,int a,int b){ long[] val=new long[n]; val[0]=seed%m; for(int i=1;i<n;i++) val[i]=(a*val[i-1]+b)%m; return val; } 1.2. 算法小结 使用线性同于法,复杂度 a[n] ,能实现比较类随机的伪随机。 来源: https://www.cnblogs.com/littlepage/p/11515534.html