线性同余法的伪随机数
学校练习,简单的我就不放上来了,值得整理的,我保存一下
习题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
线性同余法的伪随机数相关推荐
- 【随机数生成算法系列】线性同余法和梅森旋转法
一般我们用到的随机算法都是伪随机算法,什么叫伪随机算法呢?伪随机算法意思是假如知道第一个随机种子和随机算法的话就可以推算出下一个随机数.通常我们程序里都是通过当前时间作为随机函数的第一个随机种子,然后 ...
- 随机算法求pi、线性同余法求random、拉斯维加斯算法python
一.随机算法求pi # 计算圆周率 import pdb import random def CalcPai(n):# 计算π值k = 0for i in range(0,n):x = random. ...
- RNG分析:线性同余法 LCG
古老的LCG(linear congruential generator)代表了最好最朴素的伪随机数产生器算法.主要原因是容易理解,容易实现,而且速度快. LCG 算法数学上基于公式: X(n+1) ...
- 线性同余法产生随机数C语言,线性同余生成随机数的一点思考
今天下午 pk 和我讨论了一个问题,他看到在另一个项目组的 lua 代码里有一段使用线性同余产生随机数的代码,但是那个项目组的同事告诉他这个函数生成的随机数是分布不均的.于是他想到了我前两天给他讲的关 ...
- HDU-1014 线性同余法
Problem Description Computer simulations often require random numbers. One way to generate pseudo-ra ...
- 在VC++中生成伪随机数祥解
摘 要 伪随机数在计算机软件设计中有很广泛的用途.本文介绍了基于数学方法的利用计算机产生伪随机数的一种方法,即线性同余法,任何伪随机数的产生都是运用递推的原理来生成的.以及在Visual C++环境中 ...
- python_伪随机数算法实现
(一). 线性同余法 生成伪随机数_算法 1.线性同余法原理:(见下图) 2.示例:(a=12,c=8,m=22,X0=6) {14,0,8,16,2,10,18,4,12,20,6-} 利用线性同余 ...
- qr分解求线性方程组_梯度下降求解线性方程组算例设计
凸二次优化问题 Theory. 设 是实对称正定矩阵, ,则求解凸二次优化问题 等价于求解线性方程组 . Proof. 二次型二阶可导,极小值点处梯度为零,现对优化的目标函数求梯度.二次型本质上具有: ...
- java随机10位随机数 random.uuid_一文详解编程中的随机数
随机数,相信大家都不陌生,网上有很多生成随机数的小工具.直观来看,随机数就是一串杂乱无章的数字.字母.以及符号的组合, 比如pSTkKIiZMOlDxOgwpIQGdlZwrJCRiHRK.但随机数真 ...
- 视频教程-x86/x64软件逆向分析入门-C/C++
x86/x64软件逆向分析入门 成都理工大学优秀讲师,教授,二十年开发经验,和十六年一线教学工作经验,发表学术论文十余篇.参与包括863项目等多个国家级科研项目,参与包括微信机器人(WeChaty)等 ...
最新文章
- 使用hibernate与mysql时数据不能插入的原因及解决办法
- Android Studio快捷键每日一练(2)
- Delphi_01_控制台版HelloWorld
- 乐行科技获1.08亿元A轮融资,并推出艾特好车
- 双目图像重叠的视差计算_双目视觉(stereo vision)
- VisNetic MailServer 常见问题
- rust石头墙几个c4_从安顺自驾石头寨一日游
- 小米台灯底座接口很松_小米新品,米家充电台灯,续航40小时,不足百元,米粉:买买买...
- Ubuntu 安装Samba(Linux与Windows共享文件)
- 淘宝推荐系统简介分享总结
- OMG: daily scrum nine
- 智慧树源码_智慧树怎么查看网站源代码答案
- Discuz!代码大全
- linux主机如何安装杀毒软件,Linux 杀毒软件ClamAV安装部署
- VMware虚拟机中安装Win10系统
- 上下协同,用友IPD的研发管理之道(下)
- 西门子1500PLC机器人焊接程序(西门子PLC+西门子触摸屏)
- FBX 解析 材质与贴图
- Linux下的常用编程工具初探
- 电脑双屏显示变单屏后部分程序无法在当前屏幕显示的问题