LCG(linear congruential generator)伪随机数生成器
LCG(linear congruential generator)代表了最好的伪随机数产生器算法
主要原因是容易理解,容易实现,而且速度快
这种算法数学上基于X(n+1) = (a * X(n) + c) % m这样的公式
其中:
模m, m > 0
系数a, 0 < a < m
增量c, 0 <= c < m
原始值(种子) 0 <= X(0) < m
其中参数c, m, a比较敏感,或者说直接影响了伪随机数产生的质量。
一般而言,高LCG的m是2的指数次幂(一般2^32或者2^64),
因为这样取模操作截断最右的32或64位就可以了。多数编译器的库中使用了该理论实现其伪随机数发生器
var nativeRandomLCG = function (seed) { return function () { seed = (214013 * seed + 2531011) % 0x100000000; return seed * (1.0 / 4294967296.0); }; }; var evalRandomLCG = function (seed) { var randomLCG = eval("(" + nativeRandomLCG.toString() + ")"); return randomLCG(seed); };
转载于:https://www.cnblogs.com/juking52/archive/2013/04/08/3007182.html
LCG(linear congruential generator)伪随机数生成器相关推荐
- 利用Swift语言特性,随手写个伪随机数生成器
// // main.swift // Ultimate // // Created by Mewlan Musajan on 2/13/22. // // Apple Inc. "The ...
- java伪随机数生成器
关于随机数的基本概念 1.对随机数性质分类: 随机性:符合该性质的叫弱伪随机数.这种随机数仅可以用于一般应用,无法用在密码学,例如java中的java.util.Random类 不可预测性:符合该性质 ...
- python----yield(generator)生成器
在python编程中 很多时候都需要用到函数 函数可以产生值并通过return返回 但是后时候函数里面产出的值不只有一个 例如: 情景一: def show_num():for n in " ...
- 计算机仿真随机数生成,伪随机数生成器研究
摘要: 本文主要考虑了基于计算复杂性定义的伪随机数生成器.介绍了单向函数与伪随机数生成器之间的关系以及几种常见的基于离散对数问题,DDH问题的伪随机数生成器.在分析了它们的安全性和效率的同时也提出了改 ...
- gjrand 4.0 发布,C语言的伪随机数生成器
gjrand 4.0 使用新的底层生成器,生成随机数结果更加无误. gjrand 是一个C语言的伪随机数生成器.伪随机数的意思是在这个随机数并不保证是真正的随机,只适合一些对随机要求不是很高的场合,例 ...
- Verilog 实现伪随机数生成器(线性反馈移位寄存器)
Verilog 实现伪随机数生成器(线性反馈移位寄存器) 1,题目 2,RTL代码设计 3,testbench测试代码 4,前仿真,波形验证 参考文献1 1,题目 不简单的进行移位,而是在移位的基础上 ...
- python3 列表生成式,字典生成式,generator列表生成器的应用
# -*- coding:utf-8 -*-# 列表生成式是快速生成一个列表的一些公式 numbers = [] for x in range(0,101):numbers.append(x) pri ...
- 密码生成器怎么用 password generator密码生成器使用教程
password generator是一款简单易用的专业应用与复杂密码生成的密码生成器工具.Password Generator 是一个功能强大的复杂密码生成器,它支持密码强度检测和密码生成.接下来小 ...
- random — 伪随机数生成器(史上总结最全)
目的:实现几种类型的伪随机数生成器. random 模块基于 Mersenne Twister 算法提供了一个快速的伪随机数生成器.Mersenne Twister 最初开发用于为蒙特卡洛模拟器生成输 ...
最新文章
- Rocksdb 的 MergeOperator 简单使用记录
- 2021第12届蓝桥杯省赛Python题目
- Centos安装tomcat,haproxy,jdk
- live联系人导出到CSV乱码
- MobX基础 ----- 类的静态属性和装饰器
- 一年超20万人次在抖音志愿登记器官捐献
- vue设置列表数据添加
- 西门子PLC学习笔记七-(位逻辑指令)
- Flutter实战之底部导航栏 BottomNavigation
- Charles 4.2.7 for Mac 中文破解版
- 正则表达式-国际手机号或座机号校验
- 量子计算机物理学,一片“蓝海”:量子计算机的灿烂前景
- 高效沟通的5个原则,解决90%的沟通问题
- iMessage推广(群发)技术实现
- MyBatis 框架的思想及其第一次使用
- L1-019 谁先倒
- linux下LPC访问CPLD
- 【django】搭建博客教程(2)——Template的使用
- # 关于Qt程序异常结束, The process was ended forcefully问题
- js 日期对象深拷贝