线性同余法是一个经典的伪随机数发生器,算法如下:
a)将X(0)作为随机数的种子seed;
b)根据递推公式X(n+1) = (a*X(n)+b) % M,依次产生一个随机数序列X(1),X(2),…

其中,M的作用是产生0到M-1之间的伪随机数,因此M的大小直接影响伪随机数序列的周期长短,故M尽可能取比较大的值;
a和b的值越大,产生的伪随机数也越均匀
如果a和M如果互质,产生随机数效果更好。
例如:a.b可定义为int型;
数组X可定义为int型,但要防止a,b取值太大,造成X[i]溢出;
M可取随机数的最大值RAND_MAX(0x7FF);
种子X(0)可依次取1,2,3,…,或取当前时间作为种子,测试你生成的随机数;

#include<stdio.h>
#include<stdlib.h>
int main()
{int n,i,j,A,b,m,s;scanf("%d %d %d %d %d",&n,&s,&A,&b,&m);int *a=(int*)malloc(sizeof(int)*(n+1));a[0]=s;for(i=0;i<n;i++){a[i+1]=(a[i]*A+b)%m;printf("%d ",a[i+1]);}return 0;
}

两分钟学会线性同余法产生伪随机数相关推荐

  1. 两分钟学会用ADC0804采集数据

    两分钟学会用ADC0804采集数据 ADC分辨以输出二进制的位数表示.从理论上讲,n位输出的ADC能区分2n2^n2n个不同的级别的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2n1/2^n ...

  2. 如何使用录音转文字助手?免费教程来袭!两分钟学会!

    如何使用录音转文字助手?免费教程来袭!两分钟学会! 目前使用手机用户正在飞速的增长,手机越来越能够方便我们的日常生活,对于手机上的语音助手功能,我想大家应该也是一直在使用的,并且有的手机还带有语音翻译 ...

  3. 两分钟学会Android平台NDK编程(无须Eclipse和cygwin,可使用命令行打包多个so)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangbin_jxust/article/details/37389383 之前在进行cocos2d ...

  4. 多人配音用什么软件?两分钟学会多人播音配音怎么弄

    小红:"小明,前段时间老师让我们选取一篇文章制作成音频,你完成的怎么样了?" 小明:"那个作业几天前我就已经完成了." 小红:"这么快啊!你是怎么做到 ...

  5. 同一列两行数据怎么合并成一行_经常加班怎么办?两分钟学会这4招,让同事刮目相看!...

    刚放完小长假回来,面对满屏幕铺天盖地的表格,我只能痛苦地哀号--「救命啊!新年第一次加班就要开始了!」 真的是工作量大吗?不!是我被下面这些问题都纠缠了三四个小时了-- 公式一直在报错? 算不出正确结 ...

  6. 两分钟学会Unity3D布娃娃的使用

    在RPG游戏中,为了让人物的死亡更加真实,unity创建布娃娃系统,搞的跟真的一样,尼玛我差点就相信那是真的了. 1.首先打开unity,创建地形,导入已经准备好的人物模块. 2.project下选中 ...

  7. 录音转文字助手怎么使用?两分钟轻松学会,步骤详解

    录音转文字助手怎么使用?两分钟轻松学会,步骤详解 录音转文字是大家都会用到的一款手机应用,对于使用这款应用,大家肯定会有许多不明白的地方,那么今天就跟大家来好好说下这款手机应用吧!作为能够帮助我们进行 ...

  8. 【随机数生成算法系列】线性同余法和梅森旋转法

    一般我们用到的随机算法都是伪随机算法,什么叫伪随机算法呢?伪随机算法意思是假如知道第一个随机种子和随机算法的话就可以推算出下一个随机数.通常我们程序里都是通过当前时间作为随机函数的第一个随机种子,然后 ...

  9. Android零基础入门第30节:两分钟掌握FrameLayout帧布局

    原文:Android零基础入门第30节:两分钟掌握FrameLayout帧布局 前面学习了线性布局.相对布局.表格布局,那么本期来学习第四种布局--FrameLayout帧布局. 一.认识FrameL ...

  10. 三分钟学会css3中的flexbox布局

    2019独角兽企业重金招聘Python工程师标准>>> 这篇文章里我们将学习CSS里flexbox布局的几个最重要的概念,通过学习flexbox布局,你会发现以往遇到的所有的关于布局 ...

最新文章

  1. 网络、通信术语及概念
  2. 北京 | Aibee 爱笔智能 招聘 计算机视觉算法实习生
  3. 升级过log4j,却还没搞懂log4j漏洞的本质?
  4. linux查看db2存储过程,DB2查看存储过程里SQL语句的执行情况
  5. Cortex-M0(3)---ARM Cortex-M0 异常与中断
  6. UVA11313 Gourmet Games【数学】
  7. 常用linux解压命令(原创)
  8. static关键字(pass)
  9. 【C语言】08-数组
  10. 蓝牙AVRCP协议常见数据包分析
  11. ESD笔记(一)_ESD基础
  12. VSCode C++ control reaches end of non-void function [-Wreturn-type]
  13. python使用keyboard库写的GUI键盘宏
  14. 设计模式之工厂模式(附代码示例)
  15. 中文名称:(尼姆亚,熊猫烧香)
  16. SETi的Violeds技术解决方案可帮助阻止德尔塔变异病毒的传播
  17. 日语输入中的促音怎么输入
  18. 计算机技术非全日制调剂2020,2020年硕士研究生部分非全日制专业接收调剂的公告...
  19. 1600-卡斯丁狗要吃糖葫芦 ZCMU
  20. 计算机常用键盘有几个键失灵,电脑键盘忽然有几个键失灵了

热门文章

  1. PUN☀️四、服务器大厅建房解析
  2. Lyapunov稳定性分析3(离散时间系统)
  3. 音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)
  4. 台达DVP50MC11T与威纶触摸屏ModbusTCP通信
  5. 银行笔试 - 数据库基础知识总结
  6. OD教程(去除NAG窗口--PE文件结构)
  7. 软考高项论文怎么写?——软考高项笔记9
  8. 浅谈贝叶斯网络以及贝叶斯网络处理模型不确定性
  9. php中文九九乘法表,PHP输出九九乘法表代码实例
  10. python利用pyhive 连接hive