复杂条件下的随机数
来源:互联网 发布:淘宝上建店铺 编辑:程序博客网 时间:2024/06/05 02:51
随即种子:随机数生成器的初始状态,根据这个种子和一定的随机数算法,不停迭代产生随机数(所以是伪随机的)。
erlang的算法用的是Richard A O'Keefe in the standard Prolog library
random模块基本函数:
seed() -> 返回旧的随机数生成器种子,并将默认的进程字典的随机数种子设为新的
seed0() -> 查看该默认值
seed({A1,A2,A3}) -> 设置随机数种子,并返回其旧值
一般是用系统时间 {A1,A2,A3}=now() 来设置 ,复杂的方法参考http://blog.csdn.net/shallowgrave/article/details/8330830
uniform(N) 1-N随机整数
uniform() 0-1随机浮点数
uniform_s(State0)->-> {float(), State1} 返回0-1的随机浮点数,和新的随机状态
uniform_s(N,State0)-> {float(), State1} 返回1-N的随机整数,和新的随机状态
实例应用
参考 自http://blog.csdn.net/shallowgrave/article/details/8332663
%% 随机函数,给定a-z的字母范围,字母可以/不可以重复,生成Count个长度为Length的字符串(字符串不能重复)
%% 思路:根据输出字符范围,字符长度,生成一个以字符范围为进制的数,如字符范围"012345",字符长度为5,则计算出这个6#44444的数,在这个范围内随机取几个数,
%%再将其转换为6进制,即可得出随机的字符串列表
-define(CharRange,["a","b","c","d"]).rand_str(Count,Length)-> Max=list_to_integer(lists:concat(lists:duplicate(Length,integer_to_list((length(?CharRange)-1)))),length(?CharRange)), NL=get_random_list(Max), [lists:flatten(io_lib:format("~"++integer_to_list(Length)++"."++integer_to_list(length(?CharRange))++".0B", [N-1]))||N<-lists:sublist(NL,Count)].get_random_list(Max)-> T=[{random:uniform(),X}||X<-lists:seq(1,Max)], {_Sort,Res}=lists:unzip(lists:keysort(1,T)), Res.
结果
181> inter:rand_str(5,3).["131","122","000","132","002"]
0 0
- 复杂条件下的随机数
- 概率条件下随机数的生成
- 1、复杂条件下的if选择结构(0109)
- Thinkphp3.2 中的where条件复杂条件下的条件组合
- 多线程条件下的计数器
- 多线程条件下的计数器
- 市场经济条件下的货币来源
- 限制条件下的算术运算
- linux多线程条件下的计数
- 约束条件下的多元回归
- 在没有 IIS 的条件下运行 ASMX
- 在没有 IIS 的条件下运行 ASMX
- strcat在某种特定条件下的优化
- strcat在某种特定条件下的优化
- redo_群集条件下的redo管理
- strcat在某种特定条件下的优化
- 根据公式计算一定条件下的值
- 宽基线条件下的特征匹配
- 折半查找法
- Eclipse下编写C++程序——CDT环境搭建
- Google Protocol Buffer 的使用和原理
- 想学JS的原型和闭包吗?COME ON(4)
- 让Nginx支持Lua
- 复杂条件下的随机数
- java NIO(十) 缓冲区——compact方法介绍
- hadoop、hbase、hive、zookeeper版本对应关系
- Activity做子View的ViewPager与外界Activity的的交互通信
- (17) java提高篇 -----抽象类与接口
- struts2标签,OGNL,JSTL'S EL
- QQ 通信协议
- intellij idea 修改背景保护色&&修改字体&&快捷键大全
- 【bzoj 2006】: [NOI2010]超级钢琴