随机算法python_梅森算法生成随机数的Python实现
import time
class Util(object):
def __init__(self):
self.index = 624
self.MT = [0] * 624
def inter(self,t):
return (0xFFFFFFFF & t) # 取最后32位->t
def twister(self):
for i in range(self.index):
y = self.inter((self.MT[i] & 0x80000000) + (self.MT[(i + 1) % self.index] & 0x7fffffff))
self.MT[i] = self.MT[(i + 397) % self.index] ^ y >> 1
if y % 2 != 0:
self.MT[i] = self.MT[i] ^ 0x9908b0df
self.index = 0
def exnum(self):
if self.index >= 624:
self.twister()
y = self.MT[self.index]
y = y ^ y >> 11
y = y ^ y << 7 & 2636928640
y = y ^ y << 15 & 4022730752
y = y ^ y >> 18
self.index = self.index + 1
return self.inter(y)
def mainset(self,seed):
self.MT[0] = seed # seed
for i in range(1, self.index):
self.MT[i] = self.inter(1812433253 * (self.MT[i - 1] ^ self.MT[i - 1] >> 30) + i)
return self.exnum()
def randomint(self,min_num,max_num):
try:
so = float(self.mainset(int(time.time()))) / (2 ** 32 - 1)
rd = min_num + int((max_num - min_num) * so)
return rd
except Exception as ex:
print "randomint function excute exception:" + str(ex)
随机算法python_梅森算法生成随机数的Python实现相关推荐
- js版梅森旋转生成随机数
用js实现, 梅森旋转生成随机数, 来代替Math.random(); 该文章参考自 梅森旋转算法--伪随机数(加密.身份信息ID号)_Touch_Dream的博客-CSDN博客 <!DOCTY ...
- 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...
Python 标准库之 random 模块 随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的.random 库是用于生成随机数的 Python 标准库,random 库提供如下函数: 函数 功 ...
- 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成
详解Python基础random模块随机数的生成 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 详解Python基础random模块随机数的生成.txt ] ( ...
- 人工鱼群算法python代码_人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区......
本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...
- 人工鱼群算法python_鱼群算法 - Brillou的个人空间 - OSCHINA - 中文开源技术交流社区...
本算法是参照李晓磊博士的论文实现的,详细的算法原理可阅读<一种新型的智能优化方法_人工鱼群算法_李晓磊> 算法基于鱼群的生存行为:在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物 ...
- k近邻回归算法python_经典算法之K近邻(回归部分)
1.算法原理 1.分类和回归 分类模型和回归模型本质一样,分类模型是将回归模型的输出离散化. 一般来说,回归问题通常是用来预测一个值,如预测房价.未来的天气情况等等,例如一个产品的实际价格为500元, ...
- C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?
C语言中如何产生很大的随机数?这个可以一个一个的来生成啊,每次生成一个0-9之前的随机数,然后生成几次 组合起来就可以了. C语言 如何连续产生随机数? 如果我想用C在1s的时间内连续产生多个随机数, ...
- 汉诺塔算法python_经典算法:汉诺塔
学编程,学IT,算法也是必不可缺的,这一次给大家带来一个经典的递归算法题,汉诺塔.算是算法的入门小题目之一吧~ 视频教程 什么是汉诺塔? 我这里直接拉来一个图解释一下(挂了请联系我) 就是这么一个东西 ...
- [转载] 令牌桶算法和漏桶算法python_排序算法(七):Bucket Sort 桶排序
参考链接: 用Python进行存储桶Bucket Sort排序 Couting Sort 计数排序虽然快,但其只能对整数进行排序有一点的局限性.而 Bucket Sort 桶排序则没有这个限制.这里我 ...
最新文章
- 如何快速学习Java?
- 物联网时代传感器厂商竞争格局揭秘
- mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍
- 算法设计与分析(第四周)大整数相乘 分治法【不能解决溢出问题】
- 小程序 mathjs渲染公式_Mac 3D渲染和动画制作----KeyShot 9 Pro
- linux下svn常用指令(转)
- 平安性格测试题及答案_性格趣味小测试题 有趣的心理测试题大全及答案
- 新浪API, 利用get_uid获取是uid的数据溢出问题解决方案
- Bug: tf.contrib.checkpoint.NoDependency object
- php 图片 变灰色,php[图片变灰]生成灰色图片代码
- 分析:G20相争 IMF得利
- 01、锁相环基本工作原理
- 利用scrapy爬取东方资讯的新闻
- 单片机中断系统应用实例(两组实验+Proteus仿真+C源程序)
- python中numpy函数ftt_语音MFCC提取:librosa python_speech_feature(2019.12)
- MQTT树莓派小车局域网控制移动
- 单链表的头尾插法详解
- X猫免费小说安卓逆向分析
- 【Python自动化测试8】流程控制语句讲解
- ubuntu16.04安装intel集显驱动过程问题总结
热门文章
- 【Matlab 控制】仿真多智体一致性分析,附代码
- 3.3 目标检测-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 安装Sublime Text 支持Go插件
- 超强整理!PCB设计之电流与线宽的关系
- 对图像进行二维离散Fourier变换
- NameError: global name ‘***‘ is not defined
- 换种方法学操作系统,轻松入门Linux内核
- 使用wireshark分析tcp/ip报文之报文头
- 【译文】AppBarLayout的越界滚动行为
- PHPMailer 发送邮件