伪随机数帮忙用C写个伪随机数产生

伪随机数  时间:2021-07-04  阅读:()

如何产生离散型的伪随机数或者说已知一个离散量的分布函数,求它的伪随机数~!

最简单的办法就是转化成均匀分布,概率高的数可以扩大他的分布范围,比如8的产生概率是0.2,我们最小的概率分布假设是1,几率是0.01,那方法就是通过C语言获得均匀分布的随机数,只有1个随机数代表1,有20个随机数代表8,那就是实现均匀分布了。







其实伪随机数的算法很复杂的,你要是抛开C语言提供的rand,自己写函数没学过的人也不会写啊,他是需要用随机数种子,和已经随机出现过的所有数进行运算,挺发杂的,我是不会。









写一个产生伪随机数的函数。C语言

//rand01.c #include static unsigned int RAND_SEED; unsigned int random(void) { RAND_SEED=(RAND_SEED*123+59)%65536; return(RAND_SEED); } void random_start(void) { int temp[2]; movedata(0x0040,0x006c,FP_SEG(temp),FP_OFF(temp),4); RAND_SEED=temp[0]; } main() { unsigned int i,n; random_start(); for(i=0;i<10;i++) printf("%u ",random()); printf(" "); }

帮忙用C写个伪随机数产生

C语言: #include <stdio.h> #include <time.h> #include <stdlib.h> int main() { // srand( time( 0 ) ); int seed; printf( "请输入你的种子: " ); scanf( "%d", &seed ); srand( seed ); printf( "生成的4个0~30之间的随机数是: %d %d %d %d ", rand()%31, rand()%31, rand()%31, rand()%31 ) ; } VB: Private Sub Command1_Click() Dim str As String Dim seed As Integer seed = CInt(InputBox("请输入种子:")) Randomize seed For i = 1 To 4 str = str & Int(Rnd() * 31) & " " Next MsgBox "生成的4个0~30之间的随机数是: " & str End Sub C里面用srand自设种子,vb里给randomize带上参数就是种子 每次只可以设置一个,如果你要对每个产生的数都设置不同的种子,可以在每次生成数之前进行设置

LightNode(7.71美元),免认证高质量香港CN2 GIA

LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。新用户注册充值就送,最高可获得20美元的奖励金!成为LightNode的注册用户后,还可以获得属于自己的邀请链接。通过你的邀请链接带来的注册用户,你将直接获得该用户的消费的10%返佣,永久有效!平台目前...

HTTPS加密协议端口默认是多少且是否支持更换端口访问

看到群里网友们在讨论由于不清楚的原因,有同学的网站无法访问。他的网站是没有用HTTPS的,直接访问他的HTTP是无法访问的,通过PING测试可以看到解析地址已经比较乱,应该是所谓的DNS污染。其中有网友提到采用HTTPS加密证书试试。因为HTTP和HTTPS走的不是一个端口,之前有网友这样测试过是可以缓解这样的问题。这样通过将网站绑定设置HTTPS之后,是可以打开的,看来网站的80端口出现问题,而...

gcorelabs:美国GPU服务器,8张RTX2080Ti,2*Silver-4214/256G内存/1T SSD/

gcorelabs提供美国阿什本数据中心的GPU服务器(显卡服务器),默认给8路RTX2080Ti,服务器网卡支持2*10Gbps(ANX),CPU为双路Silver-4214(24核48线程),256G内存,1Gbps独享带宽仅需150欧元、10bps带宽仅需600欧元,不限流量随便跑吧。 官方网站 :https://gcorelabs.com/hosting/dedicated/gpu/ ...

伪随机数为你推荐
bloomfilter电脑游戏图像设置里的Bloom是什么意思?开票系统金税盘开票系统怎么用洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!最开放的浏览器网页浏览器有哪些啊?mindmanager破解版请给个Mindjet MindManager PRO 15的正式版slideshare佳能复印MG3620怎么使用?imqq官网中国v家官网网址中文搜索引擎百度是不是全球最大中文搜索引擎?中科红旗中科红旗Linux 5.0桌面操作系统与Window系统是否有相近之处?watch的过去式wach的过去式
重庆域名注册 宿迁服务器租用 高防服务器租用qy 中国域名交易中心 win8升级win10正式版 好看的桌面背景图片 河南m值兑换 183是联通还是移动 双十一秒杀 idc查询 上海服务器 四川电信商城 万网主机管理 linode支付宝 vul 国内域名 实惠 博客域名 学生机 webmin 更多